0001628280-24-020035.txt : 20240502 0001628280-24-020035.hdr.sgml : 20240502 20240502163255 ACCESSION NUMBER: 0001628280-24-020035 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 87 CONFORMED PERIOD OF REPORT: 20240331 FILED AS OF DATE: 20240502 DATE AS OF CHANGE: 20240502 FILER: COMPANY DATA: COMPANY CONFORMED NAME: GRID DYNAMICS HOLDINGS, INC. CENTRAL INDEX KEY: 0001743725 STANDARD INDUSTRIAL CLASSIFICATION: SERVICES-PREPACKAGED SOFTWARE [7372] ORGANIZATION NAME: 06 Technology IRS NUMBER: 830632724 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38685 FILM NUMBER: 24909039 BUSINESS ADDRESS: STREET 1: 7660 FAY AVENUE STREET 2: SUITE H, UNIT 339 CITY: LA JOLLA STATE: CA ZIP: 92037 BUSINESS PHONE: (619) 736-6855 MAIL ADDRESS: STREET 1: 7660 FAY AVENUE STREET 2: SUITE H, UNIT 339 CITY: LA JOLLA STATE: CA ZIP: 92037 FORMER COMPANY: FORMER CONFORMED NAME: ChaSerg Technology Acquisition Corp DATE OF NAME CHANGE: 20180615 10-Q 1 gdyn-20240331.htm 10-Q gdyn-20240331
12-31false00017437252024Q11150.349.791111100017437252024-01-012024-03-3100017437252024-04-29xbrli:shares00017437252024-03-31iso4217:USD00017437252023-12-31iso4217:USDxbrli:shares00017437252023-01-012023-03-310001743725us-gaap:CommonStockMember2023-12-310001743725us-gaap:AdditionalPaidInCapitalMember2023-12-310001743725us-gaap:RetainedEarningsMember2023-12-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001743725us-gaap:RetainedEarningsMember2024-01-012024-03-310001743725us-gaap:AdditionalPaidInCapitalMember2024-01-012024-03-310001743725us-gaap:CommonStockMember2024-01-012024-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-03-310001743725us-gaap:CommonStockMember2024-03-310001743725us-gaap:AdditionalPaidInCapitalMember2024-03-310001743725us-gaap:RetainedEarningsMember2024-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-03-310001743725us-gaap:CommonStockMember2022-12-310001743725us-gaap:AdditionalPaidInCapitalMember2022-12-310001743725us-gaap:RetainedEarningsMember2022-12-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-3100017437252022-12-310001743725us-gaap:RetainedEarningsMember2023-01-012023-03-310001743725us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-310001743725us-gaap:CommonStockMember2023-01-012023-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-03-310001743725us-gaap:CommonStockMember2023-03-310001743725us-gaap:AdditionalPaidInCapitalMember2023-03-310001743725us-gaap:RetainedEarningsMember2023-03-310001743725us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-03-3100017437252023-03-310001743725us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-03-310001743725us-gaap:PerformanceSharesMember2024-01-012024-03-310001743725srt:ScenarioPreviouslyReportedMembersrt:NorthAmericaMember2023-01-012023-03-310001743725srt:NorthAmericaMember2023-01-012023-03-310001743725srt:EuropeMembersrt:ScenarioPreviouslyReportedMember2023-01-012023-03-310001743725srt:EuropeMember2023-01-012023-03-310001743725gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMembersrt:ScenarioPreviouslyReportedMember2023-01-012023-03-310001743725gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember2023-01-012023-03-310001743725srt:ScenarioPreviouslyReportedMember2023-01-012023-03-310001743725gdyn:NextSphereTechnologiesIncMember2023-04-18xbrli:pure0001743725gdyn:NextSphereTechnologiesIncMember2023-04-182023-04-180001743725gdyn:MutualMobileIncMember2022-12-23gdyn:employee0001743725gdyn:MutualMobileIncMember2022-12-232022-12-230001743725gdyn:NextSphereTechnologiesIncMember2023-10-012023-12-310001743725gdyn:MutualMobileIncMember2023-10-012023-12-310001743725gdyn:NextSphereTechnologiesIncMemberus-gaap:CustomerRelationshipsMember2024-03-310001743725us-gaap:CustomerRelationshipsMembergdyn:MutualMobileIncMember2024-03-310001743725gdyn:NextSphereTechnologiesIncMemberus-gaap:ComputerSoftwareIntangibleAssetMember2024-03-310001743725us-gaap:ComputerSoftwareIntangibleAssetMembergdyn:MutualMobileIncMember2024-03-310001743725gdyn:NextSphereTechnologiesIncMemberus-gaap:TradeNamesMember2024-03-310001743725gdyn:MutualMobileIncMemberus-gaap:TradeNamesMember2024-03-310001743725gdyn:NextSphereTechnologiesIncMemberus-gaap:NoncompeteAgreementsMember2024-03-310001743725us-gaap:NoncompeteAgreementsMembergdyn:MutualMobileIncMember2024-03-310001743725gdyn:NextSphereTechnologiesIncMember2024-03-310001743725gdyn:MutualMobileIncMember2024-03-310001743725us-gaap:CarryingReportedAmountFairValueDisclosureMemberus-gaap:MoneyMarketFundsMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Member2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Member2024-03-310001743725us-gaap:CarryingReportedAmountFairValueDisclosureMemberus-gaap:BankTimeDepositsMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:BankTimeDepositsMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueInputsLevel1Memberus-gaap:BankTimeDepositsMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:BankTimeDepositsMemberus-gaap:FairValueInputsLevel2Member2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueInputsLevel3Memberus-gaap:BankTimeDepositsMember2024-03-310001743725us-gaap:CarryingReportedAmountFairValueDisclosureMemberus-gaap:EquitySecuritiesMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:EquitySecuritiesMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueInputsLevel1Memberus-gaap:EquitySecuritiesMember2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:EquitySecuritiesMemberus-gaap:FairValueInputsLevel2Member2024-03-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueInputsLevel3Memberus-gaap:EquitySecuritiesMember2024-03-310001743725us-gaap:CarryingReportedAmountFairValueDisclosureMemberus-gaap:MoneyMarketFundsMember2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMember2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel1Member2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel2Member2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:MoneyMarketFundsMemberus-gaap:FairValueInputsLevel3Member2023-12-310001743725us-gaap:CarryingReportedAmountFairValueDisclosureMemberus-gaap:EquitySecuritiesMember2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:EquitySecuritiesMember2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueInputsLevel1Memberus-gaap:EquitySecuritiesMember2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:EquitySecuritiesMemberus-gaap:FairValueInputsLevel2Member2023-12-310001743725us-gaap:EstimateOfFairValueFairValueDisclosureMemberus-gaap:FairValueInputsLevel3Memberus-gaap:EquitySecuritiesMember2023-12-310001743725srt:MinimumMemberus-gaap:ComputerEquipmentMember2024-03-310001743725srt:MaximumMemberus-gaap:ComputerEquipmentMember2024-03-310001743725us-gaap:ComputerEquipmentMember2024-03-310001743725us-gaap:ComputerEquipmentMember2023-12-310001743725us-gaap:FurnitureAndFixturesMembersrt:MinimumMember2024-03-310001743725srt:MaximumMemberus-gaap:FurnitureAndFixturesMember2024-03-310001743725us-gaap:FurnitureAndFixturesMember2024-03-310001743725us-gaap:FurnitureAndFixturesMember2023-12-310001743725srt:MinimumMemberus-gaap:LeaseholdImprovementsMember2024-03-310001743725srt:MaximumMemberus-gaap:LeaseholdImprovementsMember2024-03-310001743725us-gaap:LeaseholdImprovementsMember2024-03-310001743725us-gaap:LeaseholdImprovementsMember2023-12-310001743725srt:MinimumMemberus-gaap:SoftwareAndSoftwareDevelopmentCostsMember2024-03-310001743725srt:MaximumMemberus-gaap:SoftwareAndSoftwareDevelopmentCostsMember2024-03-310001743725us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2024-03-310001743725us-gaap:SoftwareAndSoftwareDevelopmentCostsMember2023-12-310001743725srt:MinimumMemberus-gaap:AutomobilesMember2024-03-310001743725srt:MaximumMemberus-gaap:AutomobilesMember2024-03-310001743725us-gaap:AutomobilesMember2024-03-310001743725us-gaap:AutomobilesMember2023-12-310001743725gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember2024-03-310001743725gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember2023-12-310001743725us-gaap:SoftwareDevelopmentMember2024-03-310001743725us-gaap:SoftwareDevelopmentMember2023-12-310001743725srt:MinimumMemberus-gaap:CustomerRelationshipsMember2024-03-310001743725srt:MaximumMemberus-gaap:CustomerRelationshipsMember2024-03-310001743725us-gaap:CustomerRelationshipsMember2024-03-310001743725us-gaap:CustomerRelationshipsMember2023-12-310001743725srt:MinimumMemberus-gaap:TrademarksAndTradeNamesMember2024-03-310001743725srt:MaximumMemberus-gaap:TrademarksAndTradeNamesMember2024-03-310001743725us-gaap:TrademarksAndTradeNamesMember2024-03-310001743725us-gaap:TrademarksAndTradeNamesMember2023-12-310001743725us-gaap:ComputerSoftwareIntangibleAssetMember2024-03-310001743725us-gaap:ComputerSoftwareIntangibleAssetMember2023-12-310001743725us-gaap:NoncompeteAgreementsMember2024-03-310001743725us-gaap:NoncompeteAgreementsMember2023-12-310001743725us-gaap:RelatedPartyMember2023-12-310001743725us-gaap:RelatedPartyMember2024-03-310001743725us-gaap:RevolvingCreditFacilityMember2022-03-150001743725us-gaap:LetterOfCreditMember2022-03-150001743725us-gaap:BaseRateMembersrt:MinimumMember2022-03-152022-03-150001743725srt:MaximumMemberus-gaap:BaseRateMember2022-03-152022-03-150001743725gdyn:SOFROrAdjustedEURIBORRateMembersrt:MinimumMember2022-03-152022-03-150001743725srt:MaximumMembergdyn:SOFROrAdjustedEURIBORRateMember2022-03-152022-03-150001743725gdyn:DailySimpleSOFRSONIAOrSARONMembersrt:MinimumMember2022-03-152022-03-150001743725srt:MaximumMembergdyn:DailySimpleSOFRSONIAOrSARONMember2022-03-152022-03-150001743725srt:NorthAmericaMember2024-01-012024-03-310001743725srt:EuropeMember2024-01-012024-03-310001743725gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember2024-01-012024-03-310001743725us-gaap:RetailMember2024-01-012024-03-310001743725us-gaap:RetailMember2023-01-012023-03-310001743725gdyn:TechnologyMediaAndTelecomMember2024-01-012024-03-310001743725gdyn:TechnologyMediaAndTelecomMember2023-01-012023-03-310001743725us-gaap:FinancialServiceMember2024-01-012024-03-310001743725us-gaap:FinancialServiceMember2023-01-012023-03-310001743725us-gaap:ManufacturedProductOtherMember2024-01-012024-03-310001743725us-gaap:ManufacturedProductOtherMember2023-01-012023-03-310001743725us-gaap:HealthCareMember2024-01-012024-03-310001743725us-gaap:HealthCareMember2023-01-012023-03-310001743725us-gaap:ProductAndServiceOtherMember2024-01-012024-03-310001743725us-gaap:ProductAndServiceOtherMember2023-01-012023-03-310001743725us-gaap:TimeAndMaterialsContractMember2024-01-012024-03-310001743725us-gaap:TimeAndMaterialsContractMember2023-01-012023-03-310001743725us-gaap:FixedPriceContractMember2024-01-012024-03-310001743725us-gaap:FixedPriceContractMember2023-01-012023-03-310001743725gdyn:OtherRevenueMember2024-01-012024-03-310001743725gdyn:OtherRevenueMember2023-01-012023-03-3100017437252024-04-012024-03-3100017437252025-01-012024-03-310001743725us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMembergdyn:CustomerOneMember2024-01-012024-03-310001743725us-gaap:CustomerConcentrationRiskMemberus-gaap:SalesRevenueNetMembergdyn:CustomerOneMember2023-01-012023-03-310001743725us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2024-03-31gdyn:customer0001743725us-gaap:CustomerConcentrationRiskMemberus-gaap:AccountsReceivableMember2023-12-310001743725gdyn:UnbilledReceivablesMemberus-gaap:CustomerConcentrationRiskMember2024-03-310001743725gdyn:UnbilledReceivablesMemberus-gaap:CustomerConcentrationRiskMember2023-12-310001743725us-gaap:RelatedPartyMember2024-01-012024-03-310001743725us-gaap:RelatedPartyMember2023-01-012023-03-31gdyn:segment0001743725srt:MinimumMember2024-03-310001743725srt:MaximumMember2024-03-310001743725us-gaap:CostOfSalesMember2024-01-012024-03-310001743725us-gaap:CostOfSalesMember2023-01-012023-03-310001743725us-gaap:ResearchAndDevelopmentExpenseMember2024-01-012024-03-310001743725us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-03-310001743725us-gaap:SellingAndMarketingExpenseMember2024-01-012024-03-310001743725us-gaap:SellingAndMarketingExpenseMember2023-01-012023-03-310001743725us-gaap:GeneralAndAdministrativeExpenseMember2024-01-012024-03-310001743725us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-03-310001743725gdyn:A2018StockPlanMember2023-12-310001743725gdyn:A2018StockPlanMember2024-01-012024-03-310001743725gdyn:A2018StockPlanMember2024-03-310001743725gdyn:A2020EquityIncentivePlanMember2024-03-310001743725gdyn:A2020EquityIncentivePlanMember2023-12-310001743725gdyn:A2020EquityIncentivePlanMember2024-01-012024-03-310001743725gdyn:A2020EquityIncentivePlanMemberus-gaap:EmployeeStockOptionMember2024-01-012024-03-310001743725us-gaap:RestrictedStockUnitsRSUMember2023-12-310001743725us-gaap:RestrictedStockUnitsRSUMember2024-03-310001743725us-gaap:PerformanceSharesMember2023-12-310001743725us-gaap:PerformanceSharesMember2024-03-310001743725gdyn:Year2024Member2024-01-012024-03-310001743725us-gaap:EmployeeStockOptionMember2024-01-012024-03-310001743725us-gaap:EmployeeStockOptionMember2023-01-012023-03-310001743725us-gaap:RestrictedStockUnitsRSUMember2024-01-012024-03-310001743725us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-03-310001743725us-gaap:PerformanceSharesMember2024-01-012024-03-310001743725us-gaap:PerformanceSharesMember2023-01-012023-03-310001743725country:US2024-01-012024-03-310001743725country:US2023-01-012023-03-310001743725country:GB2024-01-012024-03-310001743725country:GB2023-01-012023-03-310001743725country:NL2024-01-012024-03-310001743725country:NL2023-01-012023-03-310001743725gdyn:OtherCountriesNotSeparatelyDisclosedMember2024-01-012024-03-310001743725gdyn:OtherCountriesNotSeparatelyDisclosedMember2023-01-012023-03-310001743725country:RS2024-03-310001743725country:RS2023-12-310001743725country:US2024-03-310001743725country:US2023-12-310001743725country:UA2024-03-310001743725country:UA2023-12-310001743725country:PL2024-03-310001743725country:PL2023-12-310001743725gdyn:OtherCountriesNotSeparatelyDisclosedMember2024-03-310001743725gdyn:OtherCountriesNotSeparatelyDisclosedMember2023-12-31
UNITED STATES
SECURITIES AND EXCHANGE COMMISSION
WASHINGTON, D.C. 20549
FORM 10-Q
(Mark One)
x QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the quarterly period ended March 31, 2024
OR
¨ TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934
For the transition period from                      to                     
Commission File Number: 001-38685
Grid Dynamics Holdings, Inc.
(Exact Name of Registrant as Specified in its Charter)
Delaware83-0632724
(State or other jurisdiction
of incorporation or organization)
(I.R.S. Employer
Identification No.)
5000 Executive Parkway, Suite 520
San Ramon, CA 94583
(Address of principal executive offices)
(650) 523-5000
(Registrant’s telephone number, including area code)
Securities registered pursuant to Section 12(b) of the Act:
Title of each classTrading Symbol(s)Name of each exchange on which registered
Common Stock, par value $0.0001 per shareGDYNThe 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, every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (§ 232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files). Yes x      No ¨
Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.
Large accelerated filer¨Accelerated filer
Non-accelerated filer¨Smaller reporting company¨
Emerging growth company¨
If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised financial accounting standards provided pursuant to Section 13(a) of the Exchange Act. ¨
Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Exchange Act). Yes ¨      No x
As of April 29, 2024, there were 76,521,182 shares of registrant’s common stock issued and outstanding.



TABLE OF CONTENTS

i

SPECIAL NOTE REGARDING FORWARD-LOOKING STATEMENTS
This Quarterly Report on Form 10-Q contains forward-looking statements within the meaning of the federal securities laws, which statements involve substantial risks and uncertainties. Forward-looking statements generally relate to future events or our future financial or operating performance. Forward-looking statements include all statements that are not historical facts and can be identified by terms such as “anticipates,” “believes,” “could,” “seeks,” “estimates,” “expects,” “intends,” “may,” “plans,” “potential,” “predicts,” “projects,” “should,” “will,” “would,” or similar expressions and the negatives of those terms. Forward-looking statements contained in this Quarterly Report on Form 10-Q include, but are not limited to, statements about:
the evolution of the digital engineering and information technology services landscape facing our customers and prospects;
our ability to educate the market regarding the advantages of our digital transformation products;
our ability to maintain an adequate rate of revenue growth;
our future financial and operating results;
our business plan and our ability to effectively manage our growth and associated investments, including our GigaCube growth strategy;
beliefs and objectives for future operations;
our ability to expand a leadership position in enterprise-level digital transformation;
our ability to attract and retain customers;
our ability to further penetrate our existing customer base;
our ability to maintain our competitive technological advantages against new entrants in our industry;
our ability to timely and effectively scale and adapt our existing technology;
our ability to innovate new products and services and bring them to market in a timely manner;
our ability to maintain, protect, and enhance our brand and intellectual property;
our ability to capitalize on changing market conditions;
our ability to develop strategic partnerships;
benefits associated with the use of our services;
our ability to expand internationally;
our ability to raise financing in the future;
operating expenses, including changes in research and development, sales and marketing, and general administrative expenses;
the effects of seasonal trends on our results of operations;
our ability to grow and manage growth profitably and retain our key employees;
the expected benefits and effects of strategic acquisitions of business, products or technologies;
our ability to maintain the listing of our shares of common stock on the NASDAQ;
costs related to being a public company;
changes in applicable laws or regulations;
the military action launched by Russian forces in Ukraine, the actions that have been and could be taken by other countries, including new and stricter sanctions and actions taken in response to such sanctions, and the effect of these developments on our business and results of operations;
the possibility that we have been and may continue to be adversely affected by macroeconomic conditions, inflationary pressures, the geopolitical climate and other economic, business, and/or competitive factors; and
other risks and uncertainties indicated in this Quarterly Report on Form 10-Q, including those set forth in Item 1A, “Risk Factors.”
ii

We caution you that the foregoing list may not contain all of the forward-looking statements made in this Quarterly Report on Form 10-Q.
You should not rely upon forward-looking statements as predictions of future events. We have based the forward-looking statements contained in this Quarterly Report on Form 10-Q primarily on our current expectations and projections about future events and trends that we believe may affect our business, financial condition, results of operations, and prospects. The outcome of the events described in these forward-looking statements is subject to risks, uncertainties, and other factors, including those described in in Item 1A, “Risk Factors” and elsewhere in this Quarterly Report on Form 10-Q. Moreover, new risks and uncertainties emerge from time to time and it is not possible for us to predict all risks and uncertainties that could have an impact on any forward-looking statements contained in this Quarterly Report on Form 10-Q. We cannot assure you that the results, events, and circumstances reflected in the forward-looking statements will be achieved or occur, and actual results, events, or circumstances could differ materially from those described in such forward-looking statements.
Neither we nor any other person assumes responsibility for the accuracy and completeness of any of these forward-looking statements. Moreover, the forward-looking statements made in this Quarterly Report on Form 10-Q relate only to events as of the date on which the statements are made. We undertake no obligation to update any forward-looking statements made in this Quarterly Report on Form 10-Q to reflect events or circumstances after the date of this Quarterly Report on Form 10-Q or to reflect new information or the occurrence of unanticipated events, except as required by law. We may not actually achieve the plans, intentions or expectations disclosed in our forward-looking statements and you should not place undue reliance on our forward-looking statements. Our forward-looking statements do not reflect the potential impact of any future acquisitions, mergers, dispositions, restructurings, joint ventures, partnerships, or investments we may make.
In addition, statements that “we believe” and similar statements reflect our beliefs and opinions on the relevant subject. These statements are based upon information available to us as of the date of this Quarterly Report on Form 10-Q, and while we believe such information forms a reasonable basis for such statements, such information may be limited or incomplete, and our statements should not be read to indicate that we have conducted an exhaustive inquiry into, or review of, all potentially available relevant information. These statements are inherently uncertain and investors are cautioned not to unduly rely upon these statements.
iii

PART I — FINANCIAL INFORMATION
Item 1. Financial Statements
GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS
(In thousands, except share and per share data)
As of
March 31,
2024
December 31,
2023
Assets
Current assets
Cash and cash equivalents$249,437 $257,227 
Accounts receivable, net of allowance of $1,389 and $1,363 as of March 31, 2024 and December 31, 2023, respectively
53,039 49,824 
Unbilled receivables5,649 3,735 
Prepaid income taxes5,609 3,998 
Prepaid expenses and other current assets8,768 9,196 
Total current assets322,502 323,980 
Property and equipment, net12,552 11,358 
Operating lease right-of-use assets, net10,214 10,446 
Intangible assets, net25,531 26,546 
Goodwill53,868 53,868 
Deferred tax assets7,220 6,418 
Other noncurrent assets3,374 2,549 
Total assets$435,261 $435,165 
Liabilities and equity
Current liabilities
Accounts payable$2,935 $3,621 
Accrued compensation and benefits19,914 19,263 
Accrued income taxes9,895 8,828 
Operating lease liabilities, current4,491 4,235 
Accrued expenses and other current liabilities5,885 6,276 
Total current liabilities43,120 42,223 
Deferred tax liabilities3,164 3,274 
Operating lease liabilities, noncurrent6,166 6,761 
Total liabilities52,450 52,258 
Commitments and contingencies (Note 14)
Stockholders’ equity
Common stock, $0.0001 par value; 110,000,000 shares authorized; 76,521,182 and 75,887,475 issued and outstanding as of March 31, 2024 and December 31, 2023, respectively
8 8 
Additional paid-in capital401,541 397,511 
Accumulated deficit(19,834)(15,886)
Accumulated other comprehensive income/(loss)1,096 1,274 
Total stockholders’ equity382,811 382,907 
Total liabilities and stockholders’ equity$435,261 $435,165 
The accompanying notes are an integral part of these unaudited condensed consolidated financial statements.
1

GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND
COMPREHENSIVE LOSS
(In thousands, except per share data)
Three Months Ended
March 31,
20242023
Revenues$79,817 $80,080 
Cost of revenue52,152 51,505 
Gross profit27,665 28,575 
Operating expenses
Engineering, research, and development4,372 4,203 
Sales and marketing7,292 5,634 
General and administrative21,543 24,730 
Total operating expenses33,207 34,567 
Loss from operations
(5,542)(5,992)
Other income/(expense), net
2,525 1,682 
Loss before income taxes
(3,017)(4,310)
Provision for income taxes931 3,660 
Net loss
$(3,948)$(7,970)
Foreign currency translation adjustments, net of tax(178)495 
Comprehensive loss
$(4,126)$(7,475)
Loss per share
Basic$(0.05)$(0.11)
Diluted$(0.05)$(0.11)
Weighted average shares outstanding
Basic76,151 74,459 
Diluted76,151 74,459 

The accompanying notes are an integral part of these unaudited condensed consolidated financial statements.
2

GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY
(In thousands)
Common StockAdditional
paid-in
capital
Accumulated deficit
Accumulated
other
comprehensive
income/(loss)
Total
stockholders’
equity
SharesAmount
Balance at December 31, 202375,887 $8 $397,511 $(15,886)$1,274 $382,907 
Net loss— — — (3,948)— (3,948)
Stock-based compensation— — 11,339 — — 11,339 
Exercise of stock options69 — 260 — — 260 
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards565 — (7,569)— — (7,569)
Foreign currency translation adjustment, net of tax— — — — (178)(178)
Balance at March 31, 202476,521 $8 $401,541 $(19,834)$1,096 $382,811 

Common StockAdditional
paid-in
capital
Accumulated deficit
Accumulated
other
comprehensive
income/(loss)
Total
stockholders’
equity
SharesAmount
Balance at December 31, 202274,156 $7 $378,006 $(14,121)$(848)$363,044 
Net loss— — — (7,970)— (7,970)
Stock-based compensation— — 13,257 — — 13,257 
Exercise of stock options1 — 10 — — 10 
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards739 — (8,951)— — (8,951)
Foreign currency translation adjustment, net of tax— — — — 495 495 
Balance at March 31, 202374,896 $7 $382,322 $(22,091)$(353)$359,885 
The accompanying notes are an integral part of these unaudited condensed consolidated financial statements.
3

GRID DYNAMICS HOLDINGS, INC.
UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS
(In thousands)
Three Months Ended
March 31,
20242023
Cash flows from operating activities
Net loss$(3,948)$(7,970)
Adjustments to reconcile net loss to net cash provided by operating activities:
Depreciation and amortization2,914 1,645 
Operating lease right-of-use assets amortization expense998 650 
Bad debt expense86 20 
Deferred income taxes(912)(923)
Stock-based compensation11,339 13,257 
Other (income)/expenses, net
(287)23 
Changes in assets and liabilities:
Accounts receivable(3,301)(2,613)
Unbilled receivables(1,914)(921)
Prepaid income taxes(1,611)(1,639)
Prepaid expenses and other current assets382 (368)
Accounts payable(728)(691)
Accrued compensation and benefits651 6,054 
Operating lease liabilities(1,105)(462)
Accrued income taxes1,067 3,306 
Accrued expenses and other current liabilities(391)2,306 
Net cash provided by operating activities3,240 11,674 
Cash flows from investing activities
Purchase of property and equipment(3,197)(1,589)
Other investing activities, net(739) 
Net cash used in investing activities(3,936)(1,589)
Cash flows from financing activities
Proceeds from exercises of stock options571 10 
Payments of tax obligations resulted from net share settlement of vested stock awards(7,569)(8,951)
Net cash used in financing activities
(6,998)(8,941)
Effect of exchange rate changes on cash and cash equivalents(96)495 
Net increase/(decrease) in cash and cash equivalents(7,790)1,639 
Cash and cash equivalents, beginning of period257,227 256,729 
Cash and cash equivalents, end of period$249,437 $258,368 
Supplemental disclosure of cash flow information:
Cash paid for income taxes$2,495 $2,926 
The accompanying notes are an integral part of these unaudited condensed consolidated financial statements.
4

GRID DYNAMICS HOLDINGS, INC.
NOTES TO THE UNAUDITED CONDENSED CONSOLIDATED FINANCIAL STATEMENTS
(In thousands, except per share data)
Note 1 — Nature of operations and summary of significant accounting policies
Grid Dynamics Holdings, Inc. (the “Company”) is a leading provider of technology consulting, platform and product engineering, and advanced analytics services. The Company’s core business includes cloud platform and product engineering, supply chain and advanced manufacturing, and data and machine learning platform engineering. Grid Dynamics also helps organizations become more agile and create innovative digital products and experiences through its deep expertise in emerging technology, such as artificial intelligence (“AI”), data science, cloud computing, big data and DevOps, lean software development practices and a high-performance product culture. The Company’s headquarters and principal place of business is in San Ramon, California.
The following is a summary of critical accounting policies consistently applied in the preparation of the accompanying unaudited condensed consolidated financial statements. Full description of significant accounting policies is provided in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023, as filed with the SEC on February 29, 2024.
Basis of presentation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2023 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 29, 2024.
Principles of consolidation
The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.
The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of March 31, 2024. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation. There was minimal activity in the Affiliate during the three months ended March 31, 2024.
Use of estimates
The preparation of the unaudited condensed consolidated financial statements in accordance with the U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, valuation of stock-based compensation and contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.

5

Allowance for credit losses
The Company maintains an allowance against accounts receivable for the estimated probable losses on uncollectible accounts. The allowance is based upon historical loss experience, as adjusted for the current market conditions and forecasts about future economic conditions. As of March 31, 2024 and December 31, 2023 the Company recorded $1.4 million of allowance for credit losses.
Stock-based compensation
The Company recognizes the cost of its stock-based awards based on the fair value of these awards at the date of grant. The fair value of service-based and performance based awards without market conditions at the date of grant is based on the closing price of the Company’s shares on NASDAQ. For performance awards with market conditions the grant date fair value is measured using the Monte-Carlo model. Grant-date fair value of stock options is estimated using the Black-Scholes-Merton option pricing model. The model requires management to make a number of key assumptions including expected volatility, expected term, risk-free interest rate, and expected dividends. The Company evaluates the assumptions used to value its share-based awards on each grant date. For an award with graded vesting that is subject only to a service condition (e.g., time-based vesting), the Company uses the straight-line attribution method under ASC Topic 718 under which it recognizes compensation cost on a straight-line basis over the total requisite service period for the entire award (i.e., over the requisite service period of the last separately-vesting tranche of the award). For awards with performance conditions the compensation cost recognized is based on the actual or expected achievement of the performance condition based on the graded attribution method. Additionally, the Company applies the “floor” concept so that the amount of compensation cost that is recognized as of any date is at least equal to the grant-date fair value of the vested portion of the award on that date. That is, if the straight-line expense recognized to date is less than the grant date fair value of the award that is legally vested at that date, the company will increase its recognized expense to at least equal the fair value of the vested amount. The requisite service period, which is the vesting period, of service-based and performance-based awards is typically 4 years and 3 years, respectively. The Company made an accounting policy election to account for forfeitures when they occur.
Prior period reclassifications
The Company presented and analyzed its revenues by customer locations attributing revenues based upon billed customer location. Effective December 31, 2023, the Company attributes revenues to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. The Company believes this change allows it to more effectively analyze its geographies and associated risks. This change did not result in any adjustments to our previously issued financial statements and were applied retrospectively beginning on January 1, 2021. Comparative information for the three months ended March 31, 2023 is presented in the following table:
Three Months Ended
March 31, 2023
As reported
Reclassified
Customer Location(in thousands)
North America$63,949 $60,137 
Europe15,894 15,908 
Other237 4,035 
Total Revenues$80,080 $80,080 
Recently adopted accounting pronouncements
Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies.
There were no recently adopted accounting standards which had a material impact on the Company’s consolidated financial position, results of operations, changes in stockholders’ equity and cash flows.
6

Recently issued accounting pronouncements
On November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280) Improvements to Reportable Segment Disclosures, that expands disclosures requirements around significant segment expenses and other segment items that are included in reported measure of segment profit or loss. The guidance also requires entities to provide in their interim financial reports all disclosures about a reportable segment’s profit or loss and assets that are currently required only on annual basis. Guidance also obliges entities with a single reportable segment to provide all the disclosures under amended ASC 280 in their interim and annual financial statement. The new guidance is effective for annual reporting periods beginning after December 15, 2023, and interim reporting periods within fiscal years beginning after December 15, 2024 on a retrospective basis, The Company is currently evaluating the impact on this guidance on its consolidated financial statements.
On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures (Topic 740) Improvements to Income Tax Disclosures, which expands annual disclosure requirements around income taxes primarily related to the rate reconciliation and income taxes paid. The new guidance is effective for annual reporting periods beginning after December 15, 2024 with early adoption permitted. The guidance will be applied on a prospective basis with a retrospective application option. The Company is currently evaluating the impact on this guidance on its consolidated financial statements.
Note 2 — Acquisitions
NextSphere — On April 18, 2023, the Company completed the acquisition of 100% of NextSphere Technologies, Inc. (“NextSphere”). Founded in 2006, NextSphere is headquartered in Tampa, FL, has an engineering presence in Phoenix, AZ, and operates two large engineering centers in India’s tech hubs of Hyderabad and Chennai. NextSphere specializes in modern application development, systems monetization, product development, cloud and infrastructure services, and quality assurance. Over the years, NextSphere has worked with several brands across numerous industry verticals with expertise in Healthcare, Fintech, and CPG/Manufacturing industries. The Company believes this acquisition will support the Company’s objectives of enhancing its technical capabilities, expanding its global footprint, and increasing its client base. The total purchase consideration is $25.2 million and consists of cash consideration of $24.3 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $0.9 million. The maximum amount of potential contingent cash consideration is $2.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by NextSphere within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. During the third quarter of 2023 the Company concluded that NextSphere was not going to achieve required performance metrics and has written-off all related contingent consideration liability.
Mutual Mobile — On December 23, 2022, the Company acquired 100% of the equity interest of the software company Mutual Mobile Inc. (“Mutual Mobile”). Founded in 2009, Mutual Mobile is based in the United States and India, offers end-to-end design and development of next-generation applications, combining mobile, augmented/virtual/mixed reality, and cloud edge/IoT practices. The acquisition of Mutual Mobile added approximately 180 employees to the Company’s headcount. The acquisition will accelerate Company’s strategic expansion into the India engineering market and further solidifies Grid Dynamics’ commitment to global growth. The total purchase consideration is $16.1 million and consists of cash consideration of $12.8 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $3.3 million. The maximum amount of potential contingent cash consideration is $5.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by Mutual Mobile within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. During the third quarter of 2023 the Company concluded that Mutual Mobile was not going to achieve required performance metrics and has written-off all related contingent consideration liability.
The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:
7


NextSphereMutual Mobile
(in thousands)
Current assets$9,708 $4,982 
Property, plant and equipment192 132 
Intangible assets9,906 3,749 
Goodwill9,031 8,879 
Other noncurrent assets511 102 
Total assets acquired$29,348 $17,844 
Accounts payable, accrued expenses and other liabilities(1,990)(1,576)
Deferred taxes(2,427)(686)
Total liabilities assumed$(4,417)$(2,262)
Purchase price allocation$24,931 $15,582 
Current assets acquired include cash and cash equivalents in the amount of $6.4 million for NextSphere and $3.5 million for Mutual Mobile. The purchase price for all acquisitions was assigned to assets acquired and liabilities assumed based on their estimated fair values as of the date of acquisition, and any excess was allocated to goodwill, as shown in the table above.
The goodwill recognized as a result of the NextSphere acquisition represents the value the Company expects to achieve through the implementation of operational synergies and growth opportunities as the Company expands its global reach as well as the assembled workforce acquired. The goodwill is not deductible for income tax purposes. The goodwill recognized as a result of the Mutual Mobile acquisition is attributable to synergies expected to be achieved by combining the businesses of the Company and Mutual Mobile, expected future contracts, the assembled workforce acquired and other factors. The goodwill is not deductible for income tax purposes.
During the fourth quarter of 2023, the Company finalized working capital adjustment for NextSphere that resulted in a decrease of original purchase price in the amount of $0.3 million and updated fair value of deferred taxes by $0.2 million. These adjustments resulted in a corresponding net change in goodwill by $0.1 million. The Company then finalized the fair value of the assets acquired and liabilities assumed in the acquisition of NextSphere.
During the fourth quarter of 2023, the Company finalized working capital adjustment for Mutual Mobile which reduced the original purchase price by $0.5 million and decreased fair value of deferred taxes by $0.2 million. These adjustments resulted in a corresponding net change in goodwill by $0.7 million. The Company then finalized the fair value of the assets acquired and liabilities assumed in the acquisition of Mutual Mobile.
The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of March 31, 2024 are as follows:
NextSphereMutual Mobile
Fair ValueUseful LifeFair ValueUseful Life
(in thousands, except years)
Customer relationships$8,415 10 years$3,453 8 years
Acquired software995 2.5 years 
Trade name496 2 years152 4 years
Non-compete agreements 144 2 years
Total identified intangible assets$9,906 $3,749 
The Company used the acquisition method of accounting for all acquisitions, and consequently, the results of operations for all acquisitions are reported in the consolidated financial statements from the dates of acquisition. Pro forma results of operations have not been presented because the effect of the acquisitions on the Company’s condensed consolidated financial statements was not material individually or in the aggregate.



Note 3 — Fair value
Estimates of fair value of financial instruments not carried at fair value on a recurring basis are generally subjective in nature, and are determined as of a specific point in time based on the characteristics of the financial instruments and relevant market information. The Company’s financial assets and liabilities, are generally short-term in nature; therefore, the carrying value of these items approximates their fair value. The following table summarizes certain fair value information as of March 31, 2024 and December 31, 2023 for financial assets and liabilities measured at fair value on a recurring basis, as well as estimated fair values of certain other financial assets and liabilities not measured on a recurring basis:
Fair Value Hierarchy
BalanceEstimated Fair ValueLevel 1Level 2Level 3
(in thousands)
March 31, 2024
Financial Assets:
Cash equivalents:
Money market funds
$206,363 $206,363 $206,363 $ $ 
Short-term investments:
Time deposits$739 $739 $ $739 $ 
Long-term investments:
Marketable equity securities
$731 $731 $731 $ $ 
Non-marketable equity securities
$1,250 
December 31, 2023
Financial Assets:
Cash equivalents:
Money market funds
$204,388 $204,388 $204,388 $ $ 
Long-term investments:
Marketable equity securities
$421 $421 $421 $ $ 
Non-marketable equity securities
$1,250 
Investments in equity securities
The Company holds investments in public and privately-held entities. As the Company does not have either controlling interest or significant influence over these entities investments are accounted using two different methods depending on the type of equity investments:
Equity investments in public entities are measured and carried at fair value with any changes recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.
Equity investments that do not have readily determinable fair value are accounted for under the fair value measurement alternative. Under the measurement alternative, the carrying value is measured at cost, less any impairment, plus or minus changes resulting from observable price changes in orderly transactions for identical or similar investments of the same issuer. All gains and losses on non-marketable securities, whether realized or unrealized, are recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.
The Company classifies its investments in equity securities in Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets.
Investment in non-marketable equity securities held by the Company as of March 31, 2024 and December 31, 2023 represents investment in its related party, a company affiliated with the member of the Company’s Board of Directors, that does not have readily determinable fair values.
Note 4 — Property and equipment, net
Property and equipment, net consisted of the following:



Estimated
Useful
Life
As of
March 31,
2024
December 31,
2023
(in years)(in thousands)
Computers and equipment
2-6
$14,224 $13,837 
Furniture and fixtures
3-10
1,558 1,732 
Leasehold improvements
2-8
1,338 1,343 
Software
3-5
1,236 1,236 
Machinery and automobiles
4-6
581 570 
$18,937 $18,718 
Less: Accumulated depreciation and amortization(12,908)(12,441)
$6,029 $6,277 
Capitalized software development costs
2
$11,472 $9,050 
Less: Accumulated amortization(4,949)(3,969)
$6,523 $5,081 
Property and equipment, net$12,552 $11,358 

Note 5 — Intangible assets, net
Intangible assets, net consisted of the following:
Estimated
Useful
Life
As of
March 31,
2024
December 31,
2023
(in years)(in thousands)
Customer relationships
8-12
$27,839 $27,839 
Tradenames
2-10
5,324 5,324 
Acquired software2.5995 995 
Non-compete agreements2584 584 
$34,742 $34,742 
Less: Accumulated amortization(9,211)(8,196)
Intangible assets, net$25,531 $26,546 
Based on the carrying value of the Company’s existing intangible assets as of March 31, 2024, the estimated amortization expense for the future years is as follows:
Amount
(in thousands)
2024 (excluding three months ended March 31, 2024)
3,035 
20253,625 
20263,168 
20273,130 
20283,107 
Thereafter9,466 
Total$25,531 


Note 6 — Accrued expenses and other current liabilities



The components of accrued expenses and other current liabilities were as follows:
As of
March 31,
2024
December 31, 2023
(in thousands)
Accrued expenses$3,564 $2,943 
Customer deposits718 756 
Deferred revenue610 577 
Value added tax payable444 993 
Other liabilities549 1,007 
Total accrued expenses and other current liabilities$5,885 $6,276 
As of December 31, 2023 the Company had payable to its related party, a company affiliated with the member of the Company’s Board of Directors, in the amount of $0.6 million that was classified as Other current liabilities in unaudited condensed consolidated balance sheet. The Company fully settled this payable during the first quarter of 2024. There were no payables to related parties as of March 31, 2024.
Note 7 — Debt
Revolving Credit Facility — On March 15, 2022, the Company entered into a Credit Agreement (the “2022 Credit Agreement”) by and among the Company, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a secured multicurrency revolving loan facility with an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. The Company may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement matures on March 15, 2025.
At the Company’s option, borrowings under the 2022 Credit Agreement accrue interest at a per annum rate based on either (i) the base rate plus a margin ranging from 1.0% to 1.5%, (ii) an adjusted term Secured Overnight Financing Rate (“SOFR”) or adjusted the Euro Interbank Offer Rate (“EURIBOR”) (based on one, three or six-month interest periods) plus a margin ranging from 2.0% to 2.5%, or (iii) an adjusted daily simple SOFR rate (or SONIA rate in the case of loans denominated in pounds sterling, or SARON rate in the case of loans denominated in Swiss francs), plus a margin ranging from 2.0% to 2.5%, in each case, with the applicable margin determined based on the Company’s consolidated total leverage ratio. The Company is also obligated to pay other closing fees, administration fees, commitment fees and letter of credit fees customary for a credit facility of this size and type.
The Company’s obligations under the 2022 Credit Agreement are required to be guaranteed by certain of its domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of the Company and the Company’s subsidiary guarantors.

The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. As of March 31, 2024, the Company was in compliance with all covenants contained in the 2022 Credit Agreement.
As of March 31, 2024 and December 31, 2023, respectively, the Company did not have any outstanding debt under the 2022 Credit Agreement.
Note 8 — Revenues
Disaggregation of revenues
The tables below present disaggregated revenues from contracts with customer by customer location, industries and contract-types. The Company believes this disaggregation best depicts how the nature, amount, timing and uncertainty of our revenues



and cash flows are affected by industry, market and other economic factors. The Company has a single reportable segment for the three months ended March 31, 2024 and 2023.
The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. Substantially all of the revenue in our North America region relates to operations in the United States.
Three Months Ended
March 31,
20242023
Customer Location(in thousands)
North America$63,740 $60,137 
Europe13,402 15,908 
Other2,675 4,035 
Total Revenues$79,817 $80,080 
The following table shows the disaggregation of the Company’s revenues by main vertical markets:
Three Months Ended
March 31,
20242023
Vertical(in thousands)
Retail$24,629 $25,396 
Technology, Media and Telecom24,033 26,811 
Finance10,243 6,515 
CPG/Manufacturing(1)
9,559 12,646 
Healthcare and Pharma
3,009 3,152 
Other8,344 5,560 
Total Revenues$79,817 $80,080 
__________________________
(1)CPG stands for Consumer Packaged Goods
The following table shows the disaggregation of the Company’s revenues by contract types:
Three Months Ended
March 31,
20242023
Contract Type(in thousands)
Time-and-material$74,820 $70,526 
Fixed-fee4,412 9,554 
Other revenues585  
Total Revenues$79,817 $80,080 
Contract balances

A contract asset is a right to consideration that is conditional upon factors other than the passage of time. A contract liability, or deferred revenue, consists of advance payments and billings in excess of revenues recognized. As of March 31, 2024 and December 31, 2023 the Company did not have contract assets recorded in its unaudited condensed consolidated balance sheet. Contract liabilities were $0.6 million as of March 31, 2024 and December 31, 2023, respectively. These balances were classified as Accrued and other current liabilities in the unaudited condensed consolidated balance sheets.    



During the first quarter of 2024, the Company recognized $0.3 million of revenues that were included in Accrued and other current liabilities at December 31, 2023. During the first quarter of 2023, the Company recognized $0.4 million of revenues that were included in Accrued and other current liabilities at December 31, 2022.
Remaining performance obligations
As of March 31, 2024, the aggregate amount of transaction price allocated to remaining performance obligations was $4.7 million. Our remaining performance obligations represent commitments for future services for which work has not been performed and revenues are to be recorded in future periods. The Company expects to recognize approximately 50.3% of its remaining performance obligations as revenues during nine months of fiscal year 2024, and an additional 49.7% in 2025. Remaining performance obligations include currently recorded contract liability as well as amounts that will be invoiced in future periods and excludes the contracts that meet at least one of the following criteria under ASC Topic 606 “Revenue from Contracts with Customers”:
1)contracts with an original duration of one year or less, including contracts that can be terminated for convenience without a substantive penalty,
2)contracts for which the Company recognizes revenues based on the right to invoice for services performed,
3)variable consideration allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation in accordance with ASC 606-10-25-14(b), for which the criteria in ASC 606-10-32-40 have been met, or
4)variable consideration in the form of a sales-based or usage-based royalty promised in exchange for a license of intellectual property.
Many of the Company’s contracts met one or more of these exemptions as of March 31, 2024.
Customers concentration
The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue:
Three Months Ended
March 31,
20242023
Customer 116.7 %13.9 %
The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:
As of
March 31,
2024
December 31,
2023
Accounts receivable11
Unbilled receivable32
Transactions with related parties
During the three months ended March 31, 2024 and 2023, the Company conducted transaction with a number of companies affiliated with the members of the Company’s Board of Directors. As a result, the Company recorded revenues from its related parties of $2.8 million and $1.8 million during the first quarter of 2024 and 2023, respectively. As of March 31, 2024 and December 31, 2023 accounts receivable from related parties were $1.9 million and $0.9 million, respectively.

Note 9 — Leases
A major part of the Company’s lease obligations is for office real estate. The Company may also lease corporate apartments, cars and office equipment. Payments on some of our leases may depend on index or rate, including Consumer Price Index. Such payments are included in the calculation of lease liability and assets at the commencement dates, all future changes are accounted as variable payments similar to other variable payments, such as common area maintenance, property and other taxes, utilities and insurance that are based on the lessor’s cost.



The Company’s leases have remaining lease terms ranging from 0.1 to 6.2 years. Certain lease agreements may include the option to extend or terminate before the end of the contractual term and are often non-cancelable or cancellable only by the payment of penalties. The Company includes these options in the lease term when it is reasonably certain that they will be exercised.
As of March 31, 2024 and December 31, 2023, the Company had no finance leases.
Operating lease expense is recorded on a straight-line basis over the lease term. During the three months ended March 31, 2024 and 2023 lease costs were as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Operating lease cost$1,193 $781 
Variable lease cost76 194 
Short-term lease cost54 98 
Total lease cost$1,323 $1,073 
Supplemental information related to operating lease transactions is as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Lease liability payments$1,168 $727 
Lease assets obtained in exchange for liabilities$853 $1,022 
Non-cash net change in lease assets due to lease modifications$40 $ 
Non-cash net change in lease liability due to lease modifications$(40)$ 
Weighted average remaining lease term and discount rate as of March 31, 2024 and December 31, 2023 is as follows:
As of
March 31,
2024
December 31,
2023
Weighted average remaining lease term, in years3.23.4
Weighted average discount rate7.2 %7.0 %
As of March 31, 2024, operating lease liabilities will mature as follows:
Lease Payments
(in thousands)
2024 (excluding three months ended March 31, 2024)
$3,461 
20253,700 
20262,331 
20272,015 
2028285 
Thereafter268 
Total lease payments12,060 
Less: imputed interest(1,403)
Total$10,657 
There were no material lease agreements signed with related parties as of March 31, 2024 and December 31, 2023.



As of March 31, 2024, the Company had committed to payments of $0.4 million related to operating lease agreement that had not yet commenced as of March 31, 2024. This operating lease will commence in 2024 with the lease term of 6.2 years. The Company does not have finance lease agreements that had not yet commenced.
Note 10 — Income taxes
The Company recorded income tax expense of $0.9 million and $3.7 million for the three months ended March 31, 2024 and 2023, respectively. The Company’s effective tax rate was (30.9)% and (84.9)% for the first quarter of 2024 and 2023, respectively.
The change in the effective tax rate for the three months ended March 31, 2024, as compared to the same period in 2023, was attributable mainly to Section 162(m) compensation deduction limitations, foreign rate differential, and foreign inclusion adjustments.
For the three months ended March 31, 2024, the Company used a discrete effective tax rate method to calculate income taxes due to sensitivity of the forecast. Through March 31, 2024, the Company determined that small changes in the estimated “ordinary” income would result in significant changes in the estimated annual effective tax rate causing material distortion in the year-to-date tax provision. As of March 31, 2024, the Company is unable to produce a reliable estimate of ordinary income for the quarter and year ending 2024 due to the inability to reliably or accurately forecast 2024 operating expenses. Similarly, for the three months ended March 31, 2024, due to uncertainties created by geopolitical risks, the Company’s estimated annual effective tax rate method would not provide a reliable estimate and therefore was not used.
Note 11 — Stock-based compensation
Employee stock-based compensation cost recognized in the condensed consolidated statements of loss and comprehensive loss was as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Cost of revenue$482 $460 
Engineering, research, and development1,288 1,653 
Sales and marketing1,677 1,055 
General and administrative7,892 10,089 
Total stock-based compensation$11,339 $13,257 
Stock Options
2018 Plan
Stock option activity under the Company’s 2018 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2023
1,486,428 $3.54 $14,552 
Options exercised(65,533)$3.54 
Options outstanding as of March 31, 2024
1,420,895 $3.54 $12,433 4.8
Options vested and exercisable as of March 31, 2024
1,420,895 $3.54 $12,433 4.8
As of March 31, 2024, the Company fully recognized stock-based compensation costs related to 2018 Plan options.
2020 Plan
As of March 31, 2024, 1.9 million shares were available for grant under 2020 Incentive Stock Plan (“2020 Plan”).



Stock option activity under the Company’s 2020 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2023
3,165,715 $12.79 $7,197 
Options granted19,000 $13.54 
Options exercised(3,587)$7.90 
Options forfeited(43,175)$14.75 
Options expired(27,541)$17.46 
Options outstanding as of March 31, 2024
3,110,412 $12.73 $5,066 7.3
Options vested and exercisable as of March 31, 2024
1,834,453 $11.73 $4,470 6.5
The Company elected the policy to account for forfeitures upon occurrence. The total unrecognized compensation expenses related to 2020 Stock Plan options as of March 31, 2024 was $7.7 million to be expensed on a straight-line basis over the remaining 2.5 years.
Restricted Stock Units
RSUs granted do not participate in earnings, dividends, and do not have voting rights until vested.
The following table summarizes activity of the Company’s RSUs for the three months ended March 31, 2024:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2023
729,213 $11.99 
Awards granted1,411,350 $13.34 
Awards vested and released(306,063)$11.34 
Awards forfeited(1,500)$13.54 
Unvested awards as of March 31, 2024
1,833,000 $13.14 
The total unrecognized compensation expenses related to 2020 Stock Plan RSUs as of March 31, 2024 was $20.3 million to be expensed on a straight-line basis over 2.4 years.
Performance Stock Units
The following table summarizes activity of the Company’s PSUs for the three months ended March 31, 2024:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2023(1)
822,895 $11.97 
Awards granted (2)
1,626,600 $14.51 
Performance achievement adjustment (3)
200,614 $14.21 
Awards vested and released(822,895)$11.97 
Unvested awards as of March 31, 2024
1,827,214 $14.48 
__________________________
(1)Reported at the certified performance achievement of 170% of the target shares granted.
(2)Reported of 100% of the target shares granted.



(3)Reported at the estimate performance achievement of 137% for the first tranche of the target shares granted in 2024.
The total estimated unrecognized compensation expenses related to 2020 Stock Plan PSUs as of March 31, 2024 was $22.7 million to be expensed over 1.9 years.
Note 12 — Earnings per share
Basic earnings per share (“EPS”) is computed by dividing the net income applicable to common stockholders for the period by the weighted average number of shares of common stock outstanding during the same period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of shares of common stock outstanding during the period increased to include the number of additional shares of common stock that would have been outstanding if the potentially dilutive securities had been issued. Potentially dilutive securities include outstanding stock options, restricted stock units, and performance stock units. The dilutive effect of potentially dilutive securities is reflected in diluted EPS in order of dilution and by application of the treasury stock method and the if-converted method for stock-based compensation and convertible preferred securities, respectively.
The following table sets forth the computation of basic and diluted EPS of common stock as follows:
Three Months Ended
March 31,
20242023
(in thousands,
except per share data)
Numerator for basic and diluted loss per share
Net loss
(3,948)(7,970)
Denominator for basic and diluted loss per share
Weighted-average shares outstanding – basic and diluted
76,15174,459
Net loss per share
Basic$(0.05)$(0.11)
Diluted$(0.05)$(0.11)
The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net loss per share attributable to common stockholders because including them would have had an anti-dilutive effect.
Three Months Ended
March 31,
20242023
(in thousands)
Stock options to purchase common stock4,616 4,697 
Restricted stock units1,962 2,221 
Performance stock units2,279 1,102 
Total8,857 8,020 
Note 13 — Segment and geographic information
The Company’s business activities have similar economic characteristics and are similar in all of the following areas: the nature of services, the type or class of customer for which they provide their services, and the methods used to provide their services. In accordance with ASC Topic 280, Segment Reporting, the Company has determined it has single operating and reportable segments. This determination is consistent with the financial information regularly reviewed by the chief operating decision maker who assesses the Company’s performance and allocates resources based on the Company’s consolidated financial information.



Geographic Information
The following table presents revenues by customer location for the three months ended March 31, 2024 and 2023. The Company attributes customers to respective countries based upon location of the customer served. It differs from the prior period definition that was based upon location of the customer billed. Refer to Note 1 for more details on reclassifications.
Three Months Ended
March 31,
20242023
(in thousands)
United States$63,509 $59,761 
United Kingdom5,509 8,995 
Netherlands2,500 3,473 
Other8,299 7,851 
Total Revenues$79,817 $80,080 
Long-lived assets include property and equipment, net of accumulated depreciation and amortization. Physical locations and values of the Company’s long-lived assets are summarized below:
As of
March 31,
2024
December 31,
2023
(in thousands)
Serbia$2,575 $2,457 
United States2,498 2,174 
Ukraine2,496 2,437 
Poland1,875 1,522 
Other3,108 2,768 
Total$12,552 $11,358 
Note 14 — Commitments and contingencies
Legal Matters
The Company is subject to legal proceedings and claims that arise in the ordinary course of its business. Management evaluates each claim and provides for potential loss when the claim is probable to be paid and reasonably estimable. While adverse decisions in certain of these litigation matters, claims and administrative proceedings could have a material effect on a particular period’s results of operations, subject to the uncertainties inherent in estimating future costs for contingent liabilities, management believes that any future accruals with respect to these currently known contingencies would not have a material effect on the financial condition, liquidity or cash flows of the Company. There were no material amounts required to be reflected in these unaudited condensed consolidated financial statements related to contingencies.
Note 15 — Subsequent events
The Company performed its subsequent event procedures through May 2, 2024, the date these unaudited condensed consolidated financial statements were issued.



Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations
Forward-Looking Statements
The following discussion and analysis of the financial condition and results of operations of Grid Dynamics Holdings, Inc. should be read in conjunction with the unaudited condensed consolidated financial statements and the related notes thereto included elsewhere in this Quarterly Report on Form 10-Q and the audited financial statements and notes thereto and Management’s Discussion and Analysis of Financial Condition and Results of Operations for the fiscal year ended December 31, 2023, which has been filed with the Securities and Exchange Commission (“SEC”) on February 29, 2023.
The statements contained in this Quarterly Report on Form 10-Q that are not historical facts are forward-looking statements (within the meaning of Section 21E of the Securities Exchange Act of 1934, as amended, or the Exchange Act) that involve risks and uncertainties. Such forward-looking statements may be identified by, among other things, the use of forward-looking terminology such as “believes,” “expects,” “may,” “will,” “should,” “seek,” “intends,” “plans,” “estimates,” “projects,” “anticipates,” or the negative thereof or other variations thereon or comparable terminology, or by discussions of strategy that involve risks and uncertainties. Actual results may differ significantly from those projected in the forward-looking statements. Factors that might cause future results to differ materially from those projected in the forward-looking statements include, but are not limited to, those discussed in the sections titled “Risk Factors” and “Cautionary Note Regarding Forward Looking Statements,” included elsewhere in this Quarterly Report on Form 10-Q.
Overview
Grid Dynamics Holdings, Inc. (“Grid Dynamics,” “GDH,” the “Company,” “we,” “us,” or “our”) is a leading provider of technology consulting, platform and product engineering, and advanced analytics services. As a forefront provider of technology consulting, platform and product engineering services, and bespoke software development, we draw from over 7 years of leadership in Enterprise artificial intelligence (“AI”), coupled with profound expertise in cloud, data, and advanced analytics. Our commitment to engineering excellence, R&D leadership, a co-innovation ethos, globally efficient “Follow-the-Sun” delivery model, and an unwavering “whatever it takes” dedication to client success empower us to solve even the most complex enterprise challenges, ensuring profitable business outcomes and future-proof growth.

Established in 2006 and headquartered in Silicon Valley, Grid Dynamics partners with clients ranging from innovative start-ups to the largest companies in the world. Grid Dynamics believes the key to its success is a culture encouraging an unwavering “whatever it takes” dedication that puts client success over contract terms, products over projects, and real business results over pure technical innovation. With our proprietary processes optimized for innovation, emphasis on talent development, and technical expertise, Grid Dynamics is well-positioned for continued success.
The following table sets forth a summary of Grid Dynamics’ financial results for the periods indicated:
Three Months Ended
March 31,
20242023
(in thousands, except per share data and percentages)
Revenues$79,817 100.0 %$80,080 100.0 %
Gross profit27,665 34.7 %28,575 35.7 %
Loss from operations
(5,542)(6.9)%(5,992)(7.5)%
Net loss
(3,948)(4.9)%(7,970)(10.0)%
Diluted loss per share
$(0.05)n/a$(0.11)n/a
Non-GAAP Financial Information(1)
Non-GAAP EBITDA(1)
10,292 12.9 %10,832 13.5 %
Non-GAAP net income(1)
5,238 6.6 %6,523 8.1 %
Non-GAAP diluted EPS(1)
$0.07 n/a$0.08 n/a
__________________________
(1)Non-GAAP EBITDA, Non-GAAP net income and Non-GAAP diluted EPS are non-GAAP financial measures. See “Non-GAAP Measures” below for additional information and reconciliations to the most directly comparable GAAP financial measures.



Quarterly Highlights
Our key metrics for the three months ended March 31, 2024 are presented below:
We recorded revenues of $79.8 million that remained flat compared to the corresponding period of 2023.
Our GAAP and Non-GAAP gross profit margins during the first quarter of 34.7% and 35.3%, respectively, slightly decreased from 35.7% and 36.3%, respectively, compared to the three months ended March 31, 2023. The decline in gross profit margin, both on a GAAP and Non-GAAP basis was driven mainly by increased employee-related costs and foreign currency headwinds.
Loss from operations decreased by 7.5% reaching $5.5 million during the first quarter of 2024 compared to $6.0 million during the last year's quarter.
We managed to reduce our net loss to $3.9 million in the first quarter of 2024 largely due to lower levels of stock-based compensation costs.
We ended the first quarter of 2024 with Non-GAAP EBITDA of $10.3 million, or 12.9% of revenues compared to $10.8 million, or 13.5% of revenues in the corresponding period of 2023. The decline was largely due to decreased gross profits, combined with increased operating expenses, excluding stock-based compensation.
Operating cash inflows decreased by 72.2% reaching $3.2 million. Our capital expenditures of $3.2 million doubled compared to the prior year quarter mainly due to increased investments in computer hardware, related equipment, and office facilities caused by expansion of our geographical presence.
The operating results in any period are not necessarily indicative of the results that may be expected for any future period.
Business Update Regarding Military Action in Ukraine
On February 24, 2022, Russian forces launched significant military action against Ukraine, and sustained conflict and disruption in the region has resulted and is likely to continue. The impact to Ukraine as well as actions taken by other countries, including new and stricter sanctions imposed by the U.S., Canada, the United Kingdom, the European Union, and other countries and companies and organizations against officials, individuals, regions, and industries in Russia and certain regions of Ukraine, and each country’s potential response to such sanctions, tensions, and military actions could have a material adverse effect on our operations. For example, in response to increased sanctions, Russia could attempt to take control of assets in Ukraine of companies registered in the United States, such as Grid Dynamics. Any such material adverse effect from the conflict and enhanced sanctions activity may disrupt our delivery of services, impair our ability to complete financial or banking transactions, cause us to continue to shift all or portions of our work occurring in the region to other countries, and may restrict our ability to engage in certain projects in the region or involving certain customers in the region.
We are actively monitoring the security of our personnel and the stability of our infrastructure, including communications and internet availability. We continue to adapt to developments as they occur to protect the safety of our people and handle potential impacts to our delivery infrastructure. We are actively working with our personnel and with our customers to meet their needs and to ensure smooth delivery of services.
In April 2022, Grid Dynamics also announced it would cease remaining operations in the Russian Federation. We have worked towards the safe and expedient relocation of willing employees and ongoing management of projects to eliminate delivery impact to clients. As of May 2023, our former subsidiary in Russia is liquidated and we are not performing any client services from Russia.
We have no way to predict the progress or outcome of the military action in Ukraine, as the conflict and government reactions continue to develop and are beyond our control. Prolonged unrest, military activities, expansion of hostilities, or broad-based sanctions, could have a material adverse effect on our operations and business outlook. For example, if Russia were to invade other countries, such as Moldova, it could adversely affect our business, including preventing the relocation of our employees from Russia. In addition, the current geopolitical situations in Armenia and separately in Serbia create additional uncertainty in the region, and could adversely affect our business.
The information contained in this section is accurate as of the date hereof, but may become outdated due to changing circumstances beyond our present awareness or control.



For additional information on the various risks posed by the military action in Ukraine and the impact in the region, as well as other macroeconomic factors affecting our business, please read “Part II. Item 1A. Risk Factors” included in this Quarterly Report on Form 10-Q.
Key Performance Indicators and Other Factors Affecting Performance
Grid Dynamics uses the following key performance indicators and assesses the following other factors to analyze its business performance, to make budgets and financial forecasts and to develop strategic plans:
Employees by Region
Attracting and retaining the right employees is critical to the success of Grid Dynamics’ business and is a key factor in Grid Dynamics’ ability to meet customers’ needs and grow its revenue base. Grid Dynamics’ revenue prospects and long-term success depend significantly on its ability to recruit and retain qualified IT professionals. A substantial majority of Grid Dynamics’ personnel is comprised of such IT professionals.
The following table shows the number of Grid Dynamics personnel (including full-time and part-time employees and contractors serving in similar capacities) by region, as of the dates indicated:
As of March 31,
20242023
Americas(1)
550515
Europe(2)
2,7372,952
Rest of the world(3)
605277
Total3,8923,744
__________________________
(1)Americas includes personnel located in North, Central and South America.
(2)Europe includes personnel located in Western, Central and Eastern Europe.
(3)Rest of the world includes personnel located in India and other countries not included in regions described above.
Attrition
There is competition for IT professionals in the regions in which Grid Dynamics operates, and any increase in such competition may adversely impact Grid Dynamics’ business and gross profit margins. Employee retention is one of Grid Dynamics’ main priorities and is a key driver of operational efficiency. Grid Dynamics seeks to retain top talent by providing the opportunity to work on exciting, cutting-edge projects for high profile clients, a flexible work environment and training and development programs. Grid Dynamics’ management targets a voluntary attrition rate no higher than the mid-teen percentages, in line with the industry.
Hours and Utilization
As most of Grid Dynamics’ customer projects are performed and invoiced on a time and materials basis, Grid Dynamics’ management tracks and projects billable hours as an indicator of business volume and corresponding resource needs for IT professionals. To maintain its gross profit margins, Grid Dynamics must effectively utilize its IT professionals, which depends on its ability to integrate and train new personnel, to efficiently transition personnel from completed projects to new assignments, to forecast customer demand for services and to deploy personnel with appropriate skills and seniority to projects. Grid Dynamics’ management generally tracks utilization with respect to subsets of employees, by location or by project, and calculates the utilization rate for each subset by dividing (x) the aggregate number of billable hours for a period by (y) the aggregate number of total available hours for the same period. Grid Dynamics’ management analyzes and projects utilization to measure the efficiency of its workforce and to inform management’s budget and personnel recruiting decisions. 
Customer Concentration
Grid Dynamics’ ability to retain and expand its relationships with existing customers and add new customers are key indicators of its revenue potential. During the three months ended March 31, 2024, the total number of customers was 210, down from 220 customers in the same period a year ago. Grid Dynamics’ procurement of new customers has a direct impact on its ability to diversify its sources of revenue and replace customers that may no longer require its services. Grid Dynamics has a relatively



high level of revenue concentration with certain customers and constantly works toward decreasing those levels. During the three months ended March 31, 2024 and 2023, one customer accounted for 10% or more of Grid Dynamics’ revenues in each of the periods indicated. We expect to continue our focus on maintaining our long-term relationships with customers while diversifying our customer base.
The following table presents revenues concentration by amount and as a percentage of our revenues for the periods indicated:

Three Months Ended
March 31,
20242023
(in thousands, except percentages)
Top one customer$13,313 16.7 %$11,157 13.9 %
Top five customers$31,583 39.6 %$32,667 40.8 %
Top ten customers$44,141 55.3 %$48,391 60.4 %
Top twenty customers$54,989 68.9 %$57,981 72.4 %
Customers below top twenty$24,828 31.1 %$22,099 27.6 %
Results of Operations
The three months ended March 31, 2024 compared to the three months ended March 31, 2023
The following table sets forth a summary of Grid Dynamics’ consolidated results of operations for the interim periods indicated, and the changes between periods:
Three Months Ended
March 31,
Change
20242023DollarsPercentage
(in thousands, except percentages)
Revenues$79,817 $80,080 $(263)(0.3)%
Cost of revenues52,152 51,505 647 1.3 %
Gross profit27,665 28,575 (910)(3.2)%
Engineering, research, and development4,372 4,203 169 4.0 %
Sales and marketing7,292 5,634 1,658 29.4 %
General and administrative21,543 24,730 (3,187)(12.9)%
Total operating expense33,207 34,567 (1,360)(3.9)%
Loss from operations
(5,542)(5,992)450 (7.5)%
Other income/(expense), net2,525 1,682 843 50.1 %
Loss before income taxes
(3,017)(4,310)1,293 (30.0)%
Provision for income taxes931 3,660 (2,729)(74.6)%
Net loss
$(3,948)$(7,970)$4,022 (50.5)%
Revenues
On a year-over-year basis, our revenues remained flat during the first quarter of 2024. On a year-over-year basis, we witnessed growth in our Finance and Other verticals from both existing and new clients, offset by decline in the remainder of the verticals.
Revenues by Verticals. We assign our customers into one of our five main vertical markets or a group of various industries where we are increasing our presence, which we label as “Verticals”. In the first quarter of 2024, we disaggregated Healthcare



and Pharma as a separate vertical due to its growing importance and materiality to the Company. The following table presents our revenues by vertical and revenues as a percentage of total revenues for the periods indicated:
Three Months Ended March 31,
2024% of revenue2023% of revenue
(in thousands, except percentages)
Retail$24,629 30.9 %$25,396 31.7 %
Technology, Media and Telecom24,033 30.1 %26,811 33.5 %
Finance10,243 12.8 %6,515 8.1 %
CPG/Manufacturing9,559 12.0 %12,646 15.8 %
Healthcare and Pharma
3,009 3.8 %3,152 3.9 %
Other8,344 10.4 %5,560 7.0 %
Total$79,817 100.0 %$80,080 100.0 %
During the first quarter of 2024, Retail decreased by 3.0% compared to the prior year but continued to be our largest vertical with $24.6 million, or 30.9% of our total revenues. On a year-over-year basis, we witnessed a slight decrease in Retail revenues from our European clients offset by the US based customers.
The Technology, Media and Telecom (“TMT”) vertical with $24.0 million of revenues decreased by 10.4% on a year-over-year basis. We saw growth in our largest customer in TMT vertical which was offset by a decrease from a few of our technology customers.
Our CPG and Manufacturing vertical, representing 12.0% of our revenues for the three months ended March 31, 2024, showed decrease of 24.4% compared to the three months ended March 31, 2023. The key reasons for the decline were a combination of macro-related uncertainty resulting in a more cautionary outlook towards spending and customer specific factors at some of our larger customers.
The Healthcare and Pharma vertical remained flat with $3.0 million, or 3.8% of total revenues during the three months ended March 31, 2024 compared to $3.2 million, or 3.9% of total revenues a year ago.
Our Finance and Other verticals, representing 12.8% and 10.4% of total revenues, respectively, continued to steadily grow with each increasing by more than 50.0% during the three months ended March 31, 2024. Revenue growth was driven by increased demand from existing as well as new clients.
Cost of Revenues and Gross Margin
Our cost of revenues consists primarily of salaries and employee benefits, including performance bonuses and stock-based compensation, and project-related travel expenses of client-serving professionals. Cost of revenues also includes depreciation and amortization expenses related to client-serving activities.
During the three months ended March 31, 2024 our cost of revenues was $52.2 million, a slight increase of $0.6 million from $51.5 million in the corresponding period of 2023. Our gross profit decreased 3.2% on a year-over-year basis reaching $27.7 million during the first quarter of 2024. The key reason was the higher cost associated with delivery professionals accompanied by foreign currency headwinds.
Expressed as a percentage of revenues, our gross margin for the first quarter decreased 1.0% to 34.7% from 35.7% in the three months ended March 31, 2023.
Engineering, Research and Development
The principal components of engineering, research and development expenses are salaries and employee benefits including performance bonuses and stock-based compensation for personnel engaged in the design and development of solutions, as well as depreciation and amortization expenses related to engineering, research and development activities.
Engineering, research, and development expenses were $4.4 million and $4.2 million during the three months ended March 31, 2024 and 2023, respectively. Expressed as a percentage of revenues, engineering, research, and development expenses were 5.5% during the first quarter of 2024 compared to 5.2% in the corresponding period of 2023.




Sales and Marketing
Sales and marketing expenses represent spending associated with promoting and selling of our services. These expenses comprise of personnel costs, including performance bonuses and stock-based compensation, marketing events, travel expenses, as well as depreciation and amortization expenses related to such activities.
During the three months ended March 31, 2024, our sales and marketing expenses increased by $1.7 million as compared to the same period of 2023 and reached $7.3 million. Sales and marketing expenses as a percentage of revenue during the first quarter of 2024 increased by 2.1% to 9.1% from 7.0% in the corresponding period of 2023. The changes were largely driven by increases in sales personnel and new sales initiatives.
General and Administrative
General and administrative expenses include costs to support the business and consist primarily of administrative personnel and officers’ salaries, employee benefits including performance bonuses, stock-based compensation, legal and audit expenses, insurance, operating lease expenses of office premises and other facility costs, workforce global mobility initiatives, restructuring and employee relocation cost not directly related to customer projects, and depreciation and amortization expenses related to such activities. General and administrative expenses include a substantial majority of Grid Dynamics’ stock-based compensation costs for the financial periods discussed herein.
General and administrative expenses decreased from $24.7 million in the first quarter of 2023 to $21.5 million in 2024. The year-over-year decline was largely due to lower levels of stock-based compensation expenses. As a result, expressed as a percentage of revenues, our general and administrative expenses decreased by 3.9% to 27.0% during the three months March 31, 2024 compared to 30.9% a year ago.
Other Income/(Expense), Net
Other income/(expense), net represent interest earned on our cash and cash equivalents, including money market funds, interest expense related to our borrowings, foreign exchange gains and losses as well as changes in the fair value of contingent considerations and investments in equity securities.
During the three months ended March 31, 2024 other income/(expense), net, was $2.5 million, an increase of $0.8 million or 50.1% compared to $1.7 million recorded during the first quarter of 2023. Main drivers of increase continue to be income generated by our money market funds accompanied by unrealized gain from our marketable equity investments recognized in the first quarter of 2024.
Provision for Income Tax
Grid Dynamics follows the asset and liability method of accounting for income taxes. The provision for income taxes reflects income earned and taxed in the various U.S. federal and state and non-U.S. jurisdictions. Jurisdictional tax law changes, increases or decreases in permanent differences between book and tax items, accruals or adjustments of accruals for tax contingencies or valuation allowances, and the change in the mix of earnings from these taxing jurisdictions all affect the overall effective tax rate.
During the three months ended March 31, 2024 we recognized a provision for income tax of $0.9 million compared to $3.7 million in the same period of 2023. The difference in the tax provision was attributable mainly to Section 162(m) compensation deduction limitations, foreign rate differential, and foreign inclusion adjustments.
Non-GAAP Measures
To supplement Grid Dynamics’ consolidated financial data presented on a basis consistent with U.S. GAAP, this Quarterly Report contains certain non-GAAP financial measures, including Non-GAAP EBITDA, Non-GAAP net income and Non-GAAP diluted earnings per share, or EPS. Grid Dynamics has included these non-GAAP financial measures because they are financial measures used by Grid Dynamics’ management to evaluate Grid Dynamics’ core operating performance and trends, to make strategic decisions regarding the allocation of capital and new investments and are among the factors analyzed in making performance-based compensation decisions for key personnel. These measures exclude certain expenses that are required under U.S. GAAP. Grid Dynamics excludes these items because they are not part of core operations or, in the case of stock-based compensation, non-cash expenses that are determined based in part on Grid Dynamics’ underlying performance.
Grid Dynamics believes these supplemental performance measurements are useful in evaluating operating performance, as they are similar to measures reported by its public industry peers and those regularly used by security analysts, investors and other



interested parties in analyzing operating performance and prospects. These non-GAAP financial measures are not intended to be a substitute for any GAAP financial measures and, as calculated, may not be comparable to other similarly titled measures of performance of other companies in other industries or within the same industry.
There are significant limitations associated with the use of non-GAAP financial measures. Further, these measures may differ from the non-GAAP information, even where similarly titled, used by other companies and therefore should not be used to compare our performance to that of other companies. Grid Dynamics compensates for these limitations by providing investors and other users of its financial information a reconciliation of non-GAAP measures to the related GAAP financial measures. Grid Dynamics encourages investors and others to review its financial information in its entirety, not to rely on any single financial measure and to view its non-GAAP measures in conjunction with GAAP financial measures.
Grid Dynamics defines and calculates its non-GAAP financial measures as follows:
Non-GAAP EBITDA: Net income/(loss) before interest income/(expense), provision for income taxes and depreciation and amortization, and further adjusted for the impact of stock-based compensation expense, transaction-related costs (which include, when applicable, professional fees, retention bonuses, and consulting, legal and advisory costs related to Grid Dynamics’ merger and acquisition and capital-raising activities), impairment of goodwill and other income/(expense), net (which includes mainly interest income and expense, foreign exchange gains and losses, fair value adjustments, potential loss contingencies, and other miscellaneous expenses), and restructuring costs.

Non-GAAP net income: Net income/(loss) adjusted for the impact of stock-based compensation, impairment of goodwill, transaction-related costs, restructuring costs, other income/expenses, net, and the tax impacts of these adjustments.
Non-GAAP diluted EPS: Non-GAAP net income, divided by the diluted weighted-average number of common shares outstanding for the period.
The following table presents the reconciliation of Grid Dynamics’ Non-GAAP EBITDA to its consolidated net loss, the most directly comparable GAAP measure, for the periods indicated:
Three Months Ended
March 31,
20242023
(in thousands)
GAAP net loss
$(3,948)$(7,970)
Adjusted for:
Depreciation and amortization2,914 1,645 
Provision for income taxes931 3,660 
Stock-based compensation11,339 13,257 
Transaction and transformation-related costs (1)
454 788 
Geographic reorganization (2)
501 691 
Restructuring costs (3)
626 443 
Other (income)/expense, net (4)
(2,525)(1,682)
Non-GAAP EBITDA$10,292 $10,832 
__________________________
(1)Transaction and transformation-related costs include, when applicable, external deal costs, transaction-related professional fees, transaction-related retention bonuses, which are allocated proportionally across cost of revenue, engineering, research and development, sales and marketing and general and administrative expenses as well as other transaction-related costs including integration expenses consisting of outside professional and consulting services.
(2)Geographic reorganization includes expenses connected with military actions of Russia against Ukraine and the exit plan announced by the Company and includes travel and relocation-related expenses of employees from the aforementioned countries, severance payments, allowances as well as legal and professional fees related to geographic repositioning in various locations. These expenses are incremental to those expenses incurred prior to the crisis, clearly separable from normal operations, and not expected to recur once the crisis has subsided and operations return to normal.



(3)We implemented a restructuring plan during the first quarter of 2023. Our restructuring costs comprises of severance charges and respective taxes, and are included in General and administrative expenses in the Company’s unaudited condensed consolidated statements of loss and comprehensive loss.
(4)Other (income)/expense, net consist primarily of gains and losses on foreign currency transactions, fair value adjustments, and other miscellaneous non-operating expenses as well as other income consists primarily of interest on cash held at banks and returns on investments in money-market funds.
The following table presents a reconciliation of Grid Dynamics’ Non-GAAP diluted EPS and its Non-GAAP net income to its consolidated net loss for the periods indicated:
Three Months Ended
March 31,
20242023
(in thousands,
except per share data)
GAAP net loss
$(3,948)$(7,970)
Adjusted for:
Stock-based compensation11,339 13,257 
Transaction and transformation-related costs (1)
454 788 
Geographic reorganization (2)
501 691 
Restructuring costs (3)
626 443 
Other (income)/expense, net (4)
(2,525)(1,682)
Tax impact of non-GAAP adjustments (5)
(1,209)996 
Non-GAAP net income
$5,238 $6,523 
Number of shares used in the GAAP diluted EPS
76,151 74,459 
GAAP diluted EPS
$(0.05)$(0.11)
Number of shares used in the Non-GAAP diluted EPS
78,374 77,129 
Non-GAAP diluted EPS
$0.07 $0.08 
__________________________
(1)Transaction and transformation-related costs include, when applicable, external deal costs, transaction-related professional fees, transaction-related retention bonuses, which are allocated proportionally across cost of revenue, engineering, research and development, sales and marketing and general and administrative expenses as well as other transaction-related costs including integration expenses consisting of outside professional and consulting services.
(2)Geographic reorganization includes expenses connected with military actions of Russia against Ukraine and the exit plan announced by the Company and includes travel and relocation-related expenses of employees from the aforementioned countries, severance payments, allowances as well as legal and professional fees related to geographic repositioning in various locations. These expenses are incremental to those expenses incurred prior to the crisis, clearly separable from normal operations, and not expected to recur once the crisis has subsided and operations return to normal.
(3)We implemented a restructuring plan during the first quarter of 2023. Our restructuring costs comprises of severance charges and respective taxes, and are included in General and administrative expenses in the Company’s unaudited condensed consolidated statements of loss and comprehensive loss.
(4)Other (income)/expense, net consist primarily of gains and losses on foreign currency transactions, fair value adjustments, and other miscellaneous non-operating expenses as well as other income consists primarily of interest on cash held at banks and returns on investments in money-market funds.
(5)Reflects the estimated tax impact of the non-GAAP adjustments presented in the table.
Liquidity and Capital Resources
We measure liquidity in terms of our ability to fund the cash requirements of our business operations, including working capital needs, capital expenditures, contractual obligations, and other commitments with cash flows from operations and other sources of funding. Our current liquidity needs relate mainly to compensation and benefits of our employees and contractors and capital investments to support our growth and geographical expansion. Our ability to expand and grow our business will depend on



many factors including our capital expenditure needs and the evolution of our operating cash flows. We may need more cash resources due to changed business conditions or other developments, including investments or acquisitions.
Our principal source of liquidity continues to be cash generated from our operations. Additionally, on March 15, 2022, we entered into an agreement establishing a revolving credit facility with JPMorgan Chase Bank, N.A., as an administrative agent for the lenders. The revolving credit facility provides us with $30.0 million of available borrowing capacity. See Note 7 “Debt” in the notes to our condensed consolidated financial statements in “Part I. Item 1. Financial Statements (Unaudited)” of this Quarterly Report for information regarding our debt.
As of March 31, 2024, Grid Dynamics had cash and cash equivalents amounting to $249.4 million compared to $257.2 million at December 31, 2023. Of this amount, $22.1 million and $21.2 million, respectively, was held outside the United States, and included among others the U.K., Netherlands, Switzerland, Poland, India, Mexico, Armenia and other countries. We did not have any debt outstanding under the revolving credit facility at any balance sheet date presented. We believe that our cash and cash equivalents balance and cash generated from operating activities will be sufficient to fund currently expected levels of operating, investing and financing expenditures for a period of twelve months from the date of this filing. However, if our resources are insufficient to satisfy our cash requirements, we may need to seek additional equity or debt financing, which may be subject to conditions outside of our control and may not be available on terms acceptable to our management or at all.
See Note 7 “Debt”, Note 9 “Leases” and Note 14 “Commitments and contingencies” in the notes to our condensed consolidated financial statements in “Part I. Item 1. Financial Statements (Unaudited)” of this Quarterly Report for detailed information on our contractual obligations and commitments.
Cash Flows
The following table summarizes Grid Dynamics’ cash flows for the periods indicated:
Three Months Ended
March 31,
20242023
(in thousands)
Net cash provided by operating activities$3,240 $11,674 
Net cash used in investing activities$(3,936)$(1,589)
Net cash used in financing activities
$(6,998)$(8,941)
Effect of exchange rate changes on cash and cash equivalents$(96)$495 
Net (decrease)/increase in cash and cash equivalents
$(7,790)$1,639 
Cash, cash equivalents (beginning of period)$257,227 $256,729 
Cash, cash equivalents (end of period)$249,437 $258,368 
Operating Activities. Net cash provided by operating activities for the three months ended March 31, 2024 decreased by $8.4 million to $3.2 million from $11.7 million provided in the same period of 2023, driven by changes in timing of the employee-related compensations in some of the offshore locations and timing of some customers’ payments.
Investing Activities. Net cash used in investing activities during the first quarter of 2024 primarily reflects our сapital expenditures that increased from $1.6 million during the three months ended March 31, 2023 to $3.2 million in the current year quarter.
Financing Activities. Net cash used in financing activities in the three months ended March 31, 2024 was $7.0 million and reflected the tax withholding obligations due to issuance of shares in connection with vested awards that was $1.4 million lower compared to 2023. We also benefited from proceeds from exercise of stock options that increased by $0.6 million compared to the first quarter of 2023.
Off-Balance Sheet Arrangements and Commitments
We do not have any material off-balance sheet commitments or contractual arrangements other than those disclosed in Note 9 “Leases” and Note 14 “Commitments and contingencies” of our condensed consolidated financial statements in “Part I. Item 1. Financial Statements (Unaudited)” of this Quarterly Report.



As a result of analysis related to Grid Dynamics’ functional control of its subcontractors one was determined to be a variable interest entity (“VIE”) and is therefore consolidated in Grid Dynamics’ financial statements. The assets and liabilities of this VIE consist primarily of intercompany balances and transactions, all of which have been eliminated in consolidation.
Recently Adopted and Issued Accounting Pronouncements
Recently issued and adopted accounting pronouncements are described in Note 1 to Grid Dynamics’ condensed consolidated financial statements in “Part I. Item 1. Financial Statements (Unaudited)” of this Quarterly Report.
Item 3. Quantitative and Qualitative Disclosures About Market Risk
Grid Dynamics has in the past and may in the future be exposed to certain market and credit risks in the ordinary course of business, including exposure related to fluctuations in foreign currency rates, and on occasion and to a lesser extent, changes in interest rates and concentration of credit risk. In addition, Grid Dynamics’ international operations are subject to risks related to differing economic conditions, changes in political climate, differing tax structures, and other regulations and restrictions. See the section titled “Risk Factors” for additional information.
Foreign Currency Exchange Rate Risk
Grid Dynamics is exposed to foreign currency exchange transaction risk related to funding its non-US operations and to foreign currency translation risk related to certain of its subsidiaries’ cash balances that are denominated in currencies other than the U.S. dollar. In addition, Grid Dynamics’ profit margins are subject to volatility as a result of changes in foreign exchange rates. Grid Dynamics’ functional currency apart from the U.S. dollar includes EURO, British pounds, Mexican pesos, Moldovan leu and Indian rupees. When and where possible, Grid Dynamics seeks to match expenses of each entity to currencies in which revenues are generated creating natural hedge. In future periods, Grid Dynamics may also become materially exposed to changes in the value of Serbian dinars and Moldovan leu against the U.S. dollar, due to continuous expansion of operations in these countries.
In the three months ended March 31, 2024, approximately 39.1% of Grid Dynamics’ $85.4 million combined cost of revenues and total operating expenses were denominated in currencies other than the U.S. dollar. Comparatively, approximately 34.9% of Grid Dynamics’ $86.1 million of combined cost of revenues and total operating expenses were denominated in currencies other than the U.S. dollar in the three months ended March 31, 2023.
In the three months ended March 31, 2024:
a 10% decrease in the value of the Polish zloty against the U.S. dollar would have resulted in a $1.3 million increase in Grid Dynamics’ income from operations, while a 10% increase in the zloty’s value would have resulted in a $1.5 million decrease in income from operations.
a 10% decrease in the value of the Mexican pesos against the U.S. dollar would have resulted in a $0.4 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pesos’ value would have resulted in a $0.4 million decrease in income from operations.
In the three months ended March 31, 2023:
a 10% decrease in the value of the Polish zloty against the U.S. dollar would have resulted in a $0.8 million increase in Grid Dynamics’ income from operations, while a 10% increase in the zloty’s value would have resulted in a $1.0 million decrease in income from operations.
a 10% decrease in the value of the Mexican pesos against the U.S. dollar would have resulted in a $0.3 million increase in Grid Dynamics’ income from operations, while a 10% increase in the pesos’ value would have resulted in a $0.4 million decrease in income from operations.



Grid Dynamics analyzes sensitivity to the zloty and pesos separately because, in management’s experience, fluctuations in the value of these currencies against the U.S. dollar are frequently driven by distinct macroeconomic and geopolitical factors and have the largest effect on our results during the first quarter of 2024.
Grid Dynamics does not currently hedge its foreign currency exposure, although it seeks minimize it by limiting cash transfers to amounts necessary to fund subsidiary operating expenses for a short period, typically one week. Grid Dynamics’ management may evaluate new hedging strategies in future periods.
Item 4. Controls and Procedures
Evaluation of Disclosure Controls and Procedures
Our management, with the participation of our Chief Executive Officer and Chief Financial Officer, has evaluated the effectiveness of our disclosure controls and procedures (as such term is defined in Rules 13a-15(e) and 15d-15(e) under the Securities Exchange Act of 1934, as amended (the “Exchange Act”)) as of the end of the period covered by this quarterly report. Based on such evaluation, our Chief Executive Officer and Chief Financial Officer have concluded that, as of the end of such period, our disclosure controls and procedures were effective in recording, processing, summarizing and reporting on a timely basis, information required to be disclosed by us in the reports that we file or submit under the Exchange Act and were effective in ensuring that information required to be disclosed by us in the reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our Chief Executive Officer and Chief Financial Officer, as appropriate to allow timely decisions regarding required disclosure.
Changes in Internal Control Over Financial Reporting
Our management, including the CEO and CFO, confirmed there have been no changes in our internal control over financial reporting during the three months ended March 31, 2024, that have materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.
Inherent Limitations on Effectiveness of Controls
Our management, including our CEO and CFO, do not expect that our disclosure controls or our internal control over financial reporting will prevent all errors and all fraud. A control system, no matter how well conceived and operated, can provide only reasonable, not absolute, assurance that the objectives of the control system are met. Further, the design of a control system must reflect the fact that there are resource constraints, and the benefits of controls must be considered relative to their costs. Because of the inherent limitations in all control systems, no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, have been detected. These inherent limitations include the realities that judgments in decision-making can be faulty, and that breakdowns can occur because of a simple error or mistake. Additionally, controls can be circumvented by the individual acts of some persons, by collusion of two or more people or by management override of the controls. The design of any system of controls is also based in part upon certain assumptions about the likelihood of future events, and there can be no assurance that any design will succeed in achieving its stated goals under all potential future conditions; over time, controls may become inadequate because of changes in conditions, or the degree of compliance with policies or procedures may deteriorate. Because of the inherent limitations in a cost-effective control system, misstatements due to error or fraud may occur and not be detected.



PART II — OTHER INFORMATION
Item 1. Legal Proceedings
Although we may, from time to time, be involved in litigation and claims arising out of our operations in the normal course of business, we are not currently a party to any material legal proceeding. In addition, we are not aware of any material legal or governmental proceedings against us or contemplated to be brought against us. Future litigation may be necessary, among other things, to defend us or our customers by determining the scope, enforceability and validity of third-party proprietary rights or to establish our proprietary rights. The results of any litigation cannot be predicted with certainty and, regardless of the outcome, litigation can have an adverse impact on our company because of defense and settlement costs, diversion of management resources and other factors.
Item 1A. Risk Factors
This Quarterly Report on Form 10-Q contains forward-looking statements that are subject to risks and uncertainties that could cause actual results to differ materially from those projected. These risks and uncertainties include, but are not limited to, the risk factors set forth below. The risks and uncertainties described in this Quarterly Report on Form 10-Q are not the only ones we face. Additional risks and uncertainties not presently known to us or that we currently believe are immaterial may also affect our business. See the section titled “Special Note Regarding Forward-Looking Statements” of this Quarterly Report on Form 10-Q for a discussion of the forward-looking statements that are qualified by these risk factors. If any of these known or unknown risks or uncertainties actually occurs and have a material adverse effect on us, our business, financial condition and results of operations could be seriously harmed.
Summary of Risk Factors
Our business is subject to numerous risks and uncertainties that you should consider before investing in our company, as fully described below. The principal factors and uncertainties that make investing in our company risky include, among others:
We have a relatively short operating history and operate in a rapidly evolving industry, which makes it difficult to evaluate our future prospects and may increase the risk that we will not continue to be successful and may adversely impact our stock price.
We may be unable to effectively manage our growth or achieve anticipated growth, particularly as we expand into new geographies, which could place significant strain on our management personnel, systems and resources.
Our revenues have historically been highly dependent on a limited number of clients and industries, and any decrease in demand for outsourced services in these industries may reduce our revenues and adversely affect our business, financial condition and results of operations.
We have incurred significant net losses in recent years, we expect to incur losses in the future and we may not be able to generate sufficient revenue to achieve and maintain profitability.
The impact of the military action in Ukraine has affected and may continue to affect our business.
Macroeconomic conditions, inflationary pressures, and the geopolitical climate could adversely affect our operating results and growth prospects.
Our revenues are highly dependent on clients primarily located in the U.S. Any economic downturn in the U.S. or in other parts of the world, including Europe, or disruptions in the credit markets may have a material adverse effect on our business, financial condition and results of operations.
We face intense competition.
Damage to our reputation may adversely impact our ability to generate and retain business.
Our failure to successfully attract, hire, develop, motivate and retain highly skilled personnel could have a significant adverse effect on our business, financial condition, and results of operations.
Our business operations may be severely disrupted if we lose the services of our senior executives and key employees.
Failure to adapt to changing technologies, methodologies, and evolving industry standards may have a material adverse effect on our business, financial condition, and results of operations.
Social and ethical issues relating to the use of artificial intelligence (“AI”) in our offerings may result in reputational harm or liability.



Security breaches and incidents, system failures or errors, and other disruptions to our networks and systems, could result in unauthorized access to, or disclosure or other processing of, confidential information and expose us to liability, which would cause our business and reputation to suffer.
Undetected software design defects, errors or failures may result in loss of business or in liabilities that could have a material adverse effect on our reputation, business and results of operations.
War, terrorism, other acts of violence, or natural or man-made disasters may affect the markets in which we operate, our clients and our service delivery.
Our global business, especially in CIS and CEE countries, exposes us to significant legal, economic, tax and political risks.
Acquisitions could be difficult to identify and integrate, divert the attention of management, disrupt our business, dilute stockholder value and adversely affect our financial condition and results of operations, we may not achieve the financial and strategic goals that were contemplated at the time of a transaction, and we may be exposed to claims, liabilities and disputes as a result of the transaction that may adversely impact our business, operating results and financial condition.
Risks Related to Our Business, Operations and Industry
We operate in a rapidly evolving industry, which makes it difficult to evaluate future prospects and may increase the risk that we will not continue to be successful and may adversely impact our stock price.
The technology services industry is competitive and continuously evolving, subject to rapidly changing demands and constant technological developments. As a result, success and performance metrics are difficult to predict and measure. Since services and technologies are rapidly evolving and each company within the industry can vary greatly in terms of the services it provides, its business model and its results of operations, it can be difficult to predict how any company’s services, including ours, will be received in the market.
While many Fortune 1000 enterprises, including our clients, have been willing to devote significant resources to incorporate emerging technologies and related market trends into their business models, they may not continue to spend any significant portion of their budgets on services like those provided by us in the future. Neither our past financial performance nor the past financial performance of any other company in the technology services industry is indicative of how we will fare financially in the future. Our future profits may vary substantially from those of other companies and our past profits, making an investment in us risky and speculative. If clients’ demand for our services declines as a result of economic conditions, market factors or shifts in the technology industry, our business, financial condition and results of operations would be adversely affected.
Our stock performance is highly dependent on our ability to successfully execute and grow the business. Consequently, our stock price may be adversely impacted by our inability to execute to our plan, our inability to meet or exceed forward looking financial forecasts, and our inability to achieve our stated short-term and long-term goals.
We may be unable to effectively manage our growth or achieve anticipated growth, particularly as we expand into new geographies, which could place significant strain on our management personnel, systems and resources.
Continued growth and expansion may increase challenges we face in recruiting, training and retaining sufficiently skilled professionals and management personnel, maintaining effective oversight of personnel and delivery centers, developing financial and management controls, coordinating effectively across geographies and business units, and preserving our culture and values. Failure to manage growth effectively could have a material adverse effect on the quality of the execution of our engagements, our ability to attract and retain IT professionals, as well as our business, financial condition and results of operations.
In addition, as we increase the size and complexity of projects that we undertake with clients, add new delivery sites, introduce new services or enter into new markets, we may face new market, technological, operational, compliance and administrative risks and challenges, including risks and challenges unfamiliar to us. We may not be able to mitigate these risks and challenges to achieve our anticipated growth or successfully execute large and complex projects, which could materially adversely affect our business, prospects, financial condition and results of operations.
All of these risks are heightened as we continue to expand geographically, including through acquisitions. As we grow, we continue to explore other geographies for expansion. This may result in higher costs affecting our profitability levels. Furthermore, as we expand to new geographies, we may not be able to sustain the level of competitiveness, including high



quality and low cost, of our workforce that has enabled us to succeed with our customers. Additionally, we do not have a long history of operating our business, including recruiting, training and retaining employees, in these new geographies, and our competitiveness may decline if we are not able to effectively manage these risks.
Our revenues have historically been highly dependent on a limited number of clients and industries and any decrease in demand for outsourced services in these industries may reduce our revenues and adversely affect our business, financial condition and results of operations.
Our revenues have historically been highly dependent on a limited number of clients. In the first quarter of 2024 and 2023, we generated a significant portion of our revenues from our largest clients. For example, we generated approximately 55.3% and 60.4% of our revenue from our 10 largest clients during the three months ended March 31, 2024 and 2023, respectively. During the three months ended March 31, 2024 and 2023 we had one client in each of the periods, respectively, that accounted for greater than 10% of our revenues for the periods indicated. Since a substantial portion of our revenue is derived through time and materials contracts, which are mostly short-term in nature and cancellable by our customers on limited notice, a major client in one year may not provide the same level of revenues for us in any subsequent year. In addition, a significant portion of our revenues is concentrated in our top four industry verticals: technology, retail, finance and CPG/manufacturing. Our growth largely depends on our ability to diversify the industries in which we serve, continued demand for our services from clients in these industry verticals and other industries that we may target in the future, as well as on trends in these industries to outsource the type of services we provide.
Our business is also subject to seasonal trends that impact our revenues and profitability between quarters, driven by the timing of holidays in the countries in which we operate and the U.S. retail cycle, which drives the behavior of several of our retail clients. Excluding the impact of growth in our book of business, we have historically recorded higher revenue and gross profit in the second and third quarters of each year compared to the first and fourth quarters of each year. In addition, many of our retail sector clients tend to slow their discretionary spending during the holiday sale season, which typically lasts from late November (before Thanksgiving) through late December (after Christmas). Such seasonal trends may cause reductions in our profitability and profit margins during periods affected.  
A reduction in demand for our services and solutions caused by seasonal trends, downturns in any of our targeted industries, a slowdown or reversal of the trend to outsource IT services in any of these industries or the introduction of regulations that restrict or discourage companies from outsourcing may result in a decrease in the demand for our services and could have a material adverse effect on our business, financial condition and results of operations.
We have incurred significant net losses in recent years, we expect to incur losses in the future and we may not be able to generate sufficient revenue to achieve and maintain profitability.
We have incurred significant net losses in recent periods, including net losses of $3.9 million for the three months ended March 31, 2024 and $8.0 million for the three months ended 2023. We may continue to incur significant losses in the future for a number of reasons, including unforeseen and high-levels of operating expenses, expansion into higher-cost geographies, increased costs due to wage inflation, and costs related to the Russian invasion of Ukraine.
We anticipate that our operating expenses will increase in the foreseeable future as we invest in our business for growth. This includes, but is not limited to acquisition related integration costs, costs associated with maintaining compliance as a public company, and increased spending related to sales, marketing, and R&D. These increased expenditures may make it more difficult to achieve and maintain profitability. In addition, our efforts to grow our business may be more expensive than we expect, and we may not be able to generate sufficient revenue to offset increased operating expenses. If we are required to reduce our expenses, our growth strategy could be materially affected. We will need to generate and sustain significant revenue levels in future periods in order to become profitable, and, even if we do, we may not be able to maintain or increase our level of profitability.
Accordingly, we cannot assure you that we will achieve sustainable operating profits as we continue to expand our business and infrastructure, further develop our marketing efforts, and otherwise implement our growth initiatives. Any failure to increase our revenue sufficiently to keep pace with our investments and other expenses could prevent us from achieving and maintaining profitability or positive cash flow on a consistent basis. If we are unable to successfully address these risks and challenges as we encounter them, our business, results of operations and financial condition would be adversely affected. In the event that we fail to achieve or maintain profitability, this could negatively impact the value of our common stock.
The impact of the military action in Ukraine has affected and may continue to affect our business.



On February 24, 2022, Russian forces launched significant military action against Ukraine. The conflict has impacted our business and may continue to pose risks to our business. The impact to Ukraine as well as actions taken by other countries, including new and stricter sanctions imposed by the United States, European Union, the United Kingdom, Canada. and other countries against officials, individuals, regions, and industries in Russia and Ukraine, and actions taken by Russia in response to such sanctions, and each country’s potential response to such sanctions, tensions, and military actions could have a material adverse effect on our operations. For example, in response to increased sanctions, Russia could attempt to take control of assets in Ukraine of companies registered in the United States, such as Grid Dynamics. Any such material adverse effect from the conflict and enhanced sanctions activity may disrupt our delivery of services, impair our ability to complete financial or banking transactions, cause us to shift all or portions of our work occurring in the region to other countries, and may restrict our ability to engage in certain projects in the region or involving certain customers in the region.
We are actively monitoring the security of our personnel and the stability of our infrastructure, including communications and internet availability. We have adapted to developments as they occur to protect the safety of our people and handle potential impacts to our delivery infrastructure. We are actively working with our personnel and with our customers to meet their needs and to ensure smooth delivery of services.
In April 2022, Grid Dynamics also announced it would cease remaining operations in the Russian Federation. We have worked towards the safe and expedient relocation of willing employees and ongoing management of projects to eliminate delivery impact to clients. As of May 2023, our former subsidiary in Russia is liquidated and is not performing any client services from Russia.
We have no way to predict the progress or outcome of the military action in Ukraine, as the conflict and government reactions continue to develop and are beyond our control. Prolonged unrest, military activities, expansion of hostilities, or broad-based sanctions, could have a material adverse effect on our operations and business outlook. In addition, the current geopolitical situations in Armenia and separately in Serbia create additional uncertainty in the region, and could adversely affect our business.
The information contained in this section is accurate as of the date hereof, but may become outdated due to changing circumstances beyond our present awareness or control.
Macroeconomic conditions, inflationary pressures, and the geopolitical climate could adversely affect our operating results and growth prospects.
We operate globally and as a result our business, revenues and profitability are impacted by global macroeconomic conditions. The success of our activities is affected by general economic and market conditions, including, among others, inflation rate fluctuations, interest rates, tax rates, economic uncertainty, fluctuations in consumer spending, political instability, changes in laws, and trade barriers and sanctions. Recently, inflation rates in the US have increased to levels not seen in several years, and there are concerns of a recession. Further, a federal government shutdown resulting from failing to pass budget appropriations, adopt continuing funding resolutions, or raise the debt ceiling, and other budgetary decisions limiting or delaying deferral government spending, may negatively impact U.S. or global economic conditions, including corporate and consumer spending, and liquidity of capital markets. Such economic volatility could adversely affect our clients' business, as well as our business, financial condition, results of operations and cash flows, and future market disruptions could negatively impact us. Because of our concentration on our clients’ capital-intensive digital transformation programs, our clients, and therefore our business, may be particularly sensitive to rising interest rates. Geopolitical destabilization could continue to impact global currency exchange rates, commodity prices, trade and movement of resources, which may adversely affect the technology spending of our clients and potential clients.
Our revenues are highly dependent on clients primarily located in the U.S. Any economic downturn in the U.S. or in other parts of the world, including Europe, or disruptions in the credit markets may have a material adverse effect on our business, financial condition and results of operations.
The IT services industry is particularly sensitive to the economic environment and tends to decline during general economic downturns. We derive the majority of our revenues from clients in the U.S. In the event of an economic downturn in the U.S. or in other parts of the world, including Europe, our existing and prospective clients may reduce or postpone their technology spending significantly, which may in turn lower the demand for our services and may have a material adverse effect on our business, financial condition and results of operations. In addition, if a disruption in the credit markets were to occur, it could pose a risk to our business if clients or vendors are unable to obtain financing to meet payment or delivery obligations to us or if we are unable to obtain necessary financing.



We face intense competition.
The market for technology and IT services is highly competitive and subject to rapid change and evolving industry standards, particularly around the use and development of AI solutions, and we expect competition to persist and intensify. We face competition from offshore IT services providers in outsourcing destinations with low wage costs such as India, China, CEE countries and Latin America, as well as competition from large, global consulting and outsourcing firms and in-house IT departments of large corporations. Industry clients tend to engage multiple IT services providers instead of using an exclusive IT services provider, which could reduce our revenues to the extent that our clients obtain services from competing companies. Industry clients may prefer IT services providers that have more locations or that are based in countries that are more cost-competitive, stable and/or secure than some of the emerging markets in which we operate.
Our primary competitors include global consulting and traditional IT service providers such as Accenture plc, Capgemini SE, Cognizant Technology Solutions Corporation, Infosys Technologies, Wipro, and digital transformation providers such as EPAM Systems, Inc., Globant S.A., Endava plc, and Thoughtworks Holding, Inc. Many of our present and potential competitors have substantially greater financial, marketing and technical resources, and name recognition than we do. Therefore, they may be able to compete more aggressively on pricing or devote greater resources to the development and promotion of technology and IT services and we may be unable to retain our clients while competing against such competitors. Increased competition as well as our inability to compete successfully may have a material adverse effect on our business, prospects, financial condition and results of operations.
Damage to our reputation may adversely impact our ability to generate and retain business.
Since our business involves providing tailored services and solutions to clients, we believe that our corporate reputation is a significant factor when an existing or prospective client is evaluating whether to engage our services as opposed to those of our competitors. In addition, we believe that our brand name and reputation also play an important role in recruiting, hiring and retaining highly skilled personnel.
However, our brand name and reputation is potentially susceptible to damage by factors beyond our control, including actions or statements made by current or former clients and employees, competitors, vendors, adversaries in legal proceedings, government regulators and the media. There is a risk that negative information about us, even if untrue, could adversely affect our business. Any damage to our reputation could be challenging to repair, could make potential or existing clients reluctant to select us for new engagements, could adversely affect our recruitment and retention efforts, and could also reduce investor confidence.
Our failure to successfully attract, hire, develop, motivate and retain highly skilled personnel could have a significant adverse effect on our business, financial condition, and results of operations.
Our continued growth and success and operational efficiency is dependent on our ability to attract, hire, develop, motivate and retain highly skilled personnel, including IT engineers and other technical personnel, in the geographically diverse locations in which we operate and into which we are expanding. Competition for highly skilled IT professionals is intense and as a consequence, we may witness increasing challenges around employee retention, talent shortages, and attrition rates. While our management targets a voluntary attrition rate (expressed as a percentage) no higher than in the low-twenties, the significant market demand for highly skilled IT personnel and competitors’ activities may induce our qualified personnel to leave and make it more difficult for us to recruit new employees with suitable knowledge, experience and professional qualifications. High attrition rates of IT personnel would increase our operating costs, including hiring and training costs, and could have an adverse effect on our ability to complete existing contracts in a timely manner, meet client objectives and expand our business. Failure to attract, hire, develop, motivate and retain personnel with the skills necessary to serve our clients could decrease our ability to meet and develop ongoing and future business and could materially adversely affect our business, financial condition and results of operations.
Our business operations may be severely disrupted if we lose the services of our senior executives and key employees.
Our success depends substantially upon the continued services of our senior executives and other key employees. If we lose the services of one or more of such senior executives or key employees, our business operations can be disrupted, and we may not be able to replace them easily or at all. In addition, competition for senior executives and key personnel in our industry is intense, and we may be unable to retain such personnel or attract and retain such personnel in the future, in which case our business may be severely disrupted.



Failure to adapt to changing technologies, methodologies, and evolving industry standards may have a material adverse effect on our business, financial condition, and results of operations.
We operate in an industry characterized by rapidly changing technologies, such as generative AI, methodologies and evolving industry standards. Our future success depends in part upon our ability to anticipate developments in our industry, enhance our existing services and to develop and introduce new services to keep pace with such changes and developments and to meet changing client needs. 
Development and introduction of new services and products, including generative AI, is expected to become increasingly complex and expensive, involve a significant commitment of time and resources, and subject to a number of risks and challenges, including:
difficulty or cost in updating services, applications, tools and software and in developing new services quickly enough to meet clients’ needs;
difficulty or cost in making some features of software work effectively and securely over the internet or with new or changed operating systems;
difficulty or cost in updating software and services to keep pace with evolving industry standards, methodologies, regulatory and other developments in the industries where our clients operate; and
difficulty or cost in maintaining a high level of quality and reliability as we implement new technologies and methodologies.
We may not be successful in anticipating or responding to these developments, including generative AI, in a timely manner, and even if we do so, the services, technologies or methodologies we develop or implement may not be successful in the marketplace. Furthermore, services, technologies or methodologies that are developed by competitors may render our services non-competitive or obsolete. Our failure to adapt and enhance our existing services and to develop and introduce new services to promptly address the needs of our clients may have a material adverse effect on our business, financial condition and results of operations.
Regulatory issues relating to the use of AI may adversely affect our business, financial condition, and results of operations.
As with many technological innovations, artificial intelligence presents risks and challenges that could affect its adoption, and therefore our business. Uncertainty in the legal regulatory regime, relating to AI, may require significant resources to modify and maintain business practices to comply with U.S. and non-U.S. laws, the nature of which cannot be determined at this time. Several jurisdictions around the globe, including Europe and certain U.S. states, have already proposed or enacted laws governing AI. Other jurisdictions may decide to adopt similar or more restrictive legislation that may render the use of such technologies challenging. These obligations may make it harder for us to conduct our business, lead to regulatory fines or penalties, require us to change our business practices, or prevent or limit our use of AI or our customers’ demand for AI solutions. If we cannot use AI or our customers’ demand for AI solutions decreases, our business may be less efficient, or we may struggle to attract or retain customers. Any of these factors could adversely affect our business, financial condition, and results of operations.
Social and ethical issues relating to the use of AI in our offerings may result in reputational harm or liability.
Social and ethical issues relating to the use of new and evolving technologies such as AI in our offerings, may result in reputational harm and liability, and may cause us to incur additional research and development costs to resolve such issues. We are increasingly building AI into many of our offerings. As with many innovations, AI presents risks and challenges that could affect its adoption, and therefore our business. AI presents emerging ethical issues and if we enable or offer solutions that draw controversy due to their perceived or actual impact on society, we may experience brand or reputational harm, competitive harm, or legal liability. Potential government regulation in the space of AI ethics may also increase the burden and cost of research and development in this area, subjecting us to brand or reputational harm, competitive harm, or legal liability. Failure to address AI ethics issues by us or others in our industry could undermine public confidence in AI and slow adoption of AI in our products and services. 
Security breaches and incidents, system failures or errors, and other disruptions to our networks and systems could result in unauthorized access to, or disclosure or other processing of, confidential information and expose us to liability, which would cause our business and reputation to suffer.



We often have access to, or are required to collect, process, transmit, store, or otherwise process, sensitive or confidential client and customer data, including intellectual property, proprietary business information of Grid Dynamics and our clients, and personal information of our clients, customers, employees, contractors, service providers, and others. We use our data centers and networks, and certain networks and other facilities and equipment of our contractors and service providers, for these purposes. Despite our security measures, our information technology and infrastructure may be vulnerable to attacks and disruptions by hackers or other third parties, the introduction of ransomware or other malicious code, or otherwise may be breached or otherwise subject to security incidents or compromises due to human error, phishing attacks, social engineering, zero-day vulnerabilities, malfeasance or other disruptions. Because of increases in the number of our personnel and our contractors’ and service providers’ personnel working remotely, we face increased risks of such attacks and disruptions that may affect our systems and networks or those of our clients, contractors, and service providers. Increased risks of such attacks and disruptions, including a heightened risk of potential cyberattacks by state actors and state affiliated actors, also exist because of geopolitical events such as Russia’s significant military action against Ukraine. Such risks could increase as we expand geographically. Further, cyberattacks are becoming increasingly sophisticated, including as a result of the proliferation of artificial intelligence and machine learning. Any such breach, incident or disruption could compromise our data centers, networks and other equipment and the information stored or processed there could be accessed, disclosed, altered, misappropriated, lost, stolen, rendered unavailable, or otherwise processed without authorization. In addition, any failure or security breach or incident in a client’s system relating to the services we provide could also result in loss or misappropriation of, or unauthorized access, alteration, use, acquisition, disclosure, or other processing of sensitive or confidential information, and may result in a perception that we or our contractors or service providers caused such an incident, even if our and our contractors’ and service providers' networks and other facilities and equipment were not compromised. Although we maintain industry standard information security controls, including supply chain security verification, anti-phishing training and testing, and vulnerability management consistent with our ISO27001 certification, no safeguard or combination of safeguards can prevent all incidents from happening.
Our contractors and service providers face similar risks with respect to their facilities and networks used by us, and they also may suffer outages, disruptions, and security incidents and breaches. We cannot guarantee that our or our third-party vendors and service providers’ systems and networks have not been breached or otherwise compromised or that they do not contain any exploitable vulnerabilities, defects or bugs that could result in a breach of or disruption to our systems and networks or the systems and networks of third parties that support us and our services. Breaches and security incidents suffered by us and our contractors and service providers may remain undetected for an extended period. Any such breach, disruption or other circumstance leading to loss, alteration, misappropriation, or unauthorized use, access, acquisition, disclosure, or other processing of sensitive or confidential client or customer data suffered by us or our contractors or service providers, or the perception that any may have occurred, could expose us to claims, litigation, and liability, regulatory investigations and proceedings, cause us to lose clients and revenue, disrupt our operations and the services provided to clients, damage our reputation, cause a loss of confidence in our products and services, require us to expend significant resources designed to protect against further breaches and incidents and to rectify problems caused by these events, and result in significant financial and other potential losses.
Our errors and omissions insurance covering certain damages and expenses may not be sufficient to compensate for all liability. Although we maintain insurance for liabilities incurred as a result of certain security-related damages, we cannot be certain that our coverage will be adequate for liabilities actually incurred, that insurance will continue to be available to us on economically reasonable terms, or at all, or that any insurer will not deny coverage as to any future claim. The successful assertion of one or more large claims against us that exceeds available insurance coverage, or the occurrence of changes in our insurance policies, including premium increases or the imposition of large deductible or co-insurance requirements, could have a material adverse effect on our business, including our financial condition, results of operations, and reputation.
Undetected software design defects, errors or failures may result in loss of business or in liabilities that could have a material adverse effect on our reputation, business and results of operations.
Our services involve developing software solutions for our clients and we may be required to make certain representations and warranties to our clients regarding the quality and functionality of our software. Given that our software solutions have a high degree of technological complexity, they could contain design defects or errors that are difficult to detect or correct. We cannot provide assurances that, despite testing by us, errors or defects will not be found in our software solutions. Any such errors or defects could result in litigation, other claims for damages against us, the loss of current clients and loss of, or delay in, revenues, loss of market share, a failure to attract new clients or achieve market acceptance, diversion of development resources, increased support or service costs, as well as reputational harm and thus could have a material adverse effect on our reputation, business, prospects, financial condition and results of operations.



We do not have long-term commitments from our clients, and our clients may terminate contracts before completion or choose not to renew contracts.
Our clients are generally not obligated for any long-term commitments to us. Although a substantial majority of our revenues are generated from repeated business, which we define as revenues from a client who also contributed to our revenues during the prior year, our engagements with our clients are typically for projects that are singular in nature. In addition, our clients can terminate many of our master services agreements and work orders with or without cause, and in most cases without any cancellation charge. Therefore, we must seek to obtain new engagements when our current engagements are successfully completed or are terminated as well as maintain relationships with existing clients and secure new clients to expand our business.
There are a number of factors relating to our clients that are outside of our control which might lead them to terminate a contract or project with us, including:
financial difficulties for the client;
a change in strategic priorities, resulting in elimination of the impetus for the project or a reduced level of technology spending;
a change in outsourcing strategy resulting in moving more work to the client’s in-house technology departments or to our competitors;
the replacement by our clients of existing software with packaged software supported by licensors;
mergers and acquisitions or significant corporate restructuring; and
changes in the macro-economic environment resulting in weak demand at our customers’ business.
Failure to perform or observe any contractual obligations could result in cancellation or non-renewal of a contract, which could cause us to experience a higher than expected number of unassigned employees and an increase in our cost of revenues as a percentage of revenues, until we are able to reduce or reallocate our headcount. The ability of our clients to terminate agreements makes our future revenues uncertain. We may not be able to replace any client that elects to terminate or not renew its contract with us, which could materially adversely affect our revenues and thus our results of operations.
In addition, some of our agreements specify that if a change of control of our company occurs during the term of the agreement, the client has the right to terminate the agreement. If any future event triggers any change-of- control provision in our client contracts, these master services agreements may be terminated, which would result in loss of revenues.
Failure to successfully deliver contracted services or causing disruptions to clients’ businesses may have a material adverse effect on our reputation, business, financial condition, and results of operations.
Our business is dependent on our ability to successfully deliver contracted services in a timely manner. Any partial or complete failure of our equipment or systems, or any major disruption to basic infrastructure like power and telecommunications in the locations in which we operate, could impede our ability to provide contracted services to our clients. In addition, if our professionals make errors in the course of delivering services to our clients or fail to consistently meet the service requirements of a client, these errors or failures could disrupt the client’s business. Any failure to successfully deliver contracted services or causing disruptions to a client’s business, including the occurrence of any failure in a client’s system or breach of security relating to the services provided by us, may expose us to substantial liabilities and have a material adverse effect on our reputation, business, financial condition and results of operations.
Additionally, our clients may perform audits or require us to perform audits and provide audit reports with respect to the IT and financial controls and procedures that we use in the performance of services for our clients. Our ability to acquire new clients and retain existing clients may be adversely affected and our reputation could be harmed if we receive a qualified opinion, or if we cannot obtain an unqualified opinion in a timely manner, with respect to our controls and procedures in connection with any such audit. We could also incur liability if our controls and procedures, or the controls and procedures we manage for a client, were to result in an internal control failure or impair our client’s ability to comply with its own internal control requirements. If we or our partners fail to meet our contractual obligations or otherwise breach obligations to our clients, we could be subject to legal liability, which may have a material and adverse effect on our reputation, business, financial condition, and results of operations.



We rely on software, hardware and SaaS technologies from third parties that may be difficult to replace or that may cause errors or defects in, or failures of, our services or solutions.
We rely on software and hardware from various third parties as well as hosted Software as a Service (“SaaS”) applications from third parties to deliver our services and solutions. If any of these software, hardware or SaaS applications become unavailable due to loss of license, extended outages, interruptions, or because they are no longer available on commercially reasonable terms, there may be delays in the provisioning of our services until equivalent technology is either developed by us, or, if available, is identified, obtained and integrated, which could increase our expenses or otherwise harm our business. Furthermore, any errors or defects in or failures of third-party software, hardware or SaaS applications could result in errors or defects in or failures of our services and solutions, which could be costly to correct and have an adverse effect on our reputation, business, financial condition and results of operations.
Existing insurance coverage and limitation of liability provisions in service contracts may be inadequate to protect us against losses.
We maintain certain insurance coverage, including professional liability insurance, director and officer insurance, property insurance for certain of our facilities and equipment, and business interruption insurance for certain of our operations. However, we do not insure for all risks in our operations and if any claims for injury are brought against us, or if we experience any business disruption, litigation or natural disaster, we might incur substantial costs and diversion of resources.
Most of the agreements we have entered into with our clients require us to purchase and maintain specified insurance coverage during the terms of the agreements, including commercial general insurance or public liability insurance, umbrella insurance, product liability insurance, and workers’ compensation insurance. Some of these types of insurance are not available on reasonable terms or at all in some countries in which we operate.
Our liability for breach of our obligations is in some cases limited under client contracts. Such limitations may be unenforceable or otherwise may not protect us from liability for damages. In addition, our existing contracts may not limit certain liabilities, such as claims of third parties for which we may be required to indemnify our clients. The successful assertion of one or more large claims against us in amounts greater than those covered by our current insurance policies could materially adversely affect our business, financial condition and results of operations. Even if such assertions against us are unsuccessful, we may incur reputational harm and substantial legal fees.
If we are not able to maintain an effective system of internal control over financial reporting, current and potential investors could lose confidence in our financial reporting, which could harm our business and have an adverse effect on our stock price. We cannot provide assurances that material weaknesses, or significant deficiencies, will not occur in the future.
Any failure to maintain effective internal controls over our financial reporting could materially and adversely affect us. Section 404 of the Sarbanes-Oxley Act requires us to include in our annual reports on Form 10-K an assessment by management of the effectiveness of our internal controls over financial reporting and have our independent public accounting firm attest to and report on management’s assessment of the effectiveness of our internal control over financial reporting. In the future, if we are unable to conclude that we have effective internal control over financial reporting or, if our independent auditors are unable to provide us with an attestation and an unqualified report as to the effectiveness of our internal control over financial reporting, investors could lose confidence in the reliability of our financial statements, which could result in a decrease in the value of our securities.
If material weaknesses or significant deficiencies in internal controls are discovered in the future, they may adversely affect our ability to record, process, summarize and report financial information in a timely and accurate manner and, as a result, our financial statements may contain material misstatements or omissions.
Our global business, especially in CIS and CEE countries, exposes us to significant legal, economic, tax and political risks.
We have significant operations in certain emerging market economies, and are expanding into other countries, which creates legal, economic, tax and political risks. Risks inherent in conducting international operations include:
less established legal systems and legal ambiguities, inconsistencies and anomalies;
changes in laws and regulations;
application and imposition of protective legislation and regulations relating to import or export, including tariffs, quotas and other trade protection measures;



difficulties in enforcing intellectual property and/or contractual rights;
bureaucratic obstacles and corruption;
compliance with a wide variety of foreign laws, including those relating to privacy data protection and cybersecurity;
restrictions on the repatriation of dividends or profits;
expropriation or nationalization of property;
restrictions on currency convertibility and exchange controls;
fluctuations in currency exchange rates;
potentially adverse tax consequences;
competition from companies with more experience in a particular country or with international operations;
civil strife;
unstable political and military situations; and
overall foreign policy and variability of foreign economic conditions.
The legal systems of Ukraine, Poland, Serbia, India, Mexico, Moldova, Romania and other countries are often beset by legal ambiguities as well as inconsistencies and anomalies due to the relatively recent enactment of many laws that may not always coincide with market developments. Furthermore, legal and bureaucratic obstacles and corruption exist to varying degrees in each of these countries. In such environments, our competitors may receive preferential treatment from governments, potentially giving them a competitive advantage. Governments may also revise existing contract rules and regulations or adopt new ones at any time and for any reason, and government officials may apply contradictory or ambiguous laws or regulations in ways that could materially adversely affect our business and operations in such countries. Any of these changes could impair our ability to obtain new contracts or renew or enforce contracts under which we currently provide services or to which we are a party. Any new contracting methods could be costly or administratively difficult for us to implement, which could materially adversely affect our business and operations. We cannot guarantee that regulators, judicial authorities or third parties in Ukraine, Poland, Serbia, India, Mexico, Moldova, Romania or other countries will not challenge our (including our subsidiaries’) compliance with applicable laws, decrees and regulations. In addition to the foregoing, selective or arbitrary government actions may include withdrawal of licenses, sudden and unexpected tax audits, criminal prosecutions and civil actions, all of which could have a material adverse effect on our business, financial condition and results of operations.
The banking and other financial systems in certain Commonwealth of Independent States (“CIS”) and Central and Eastern European (“CEE”) countries where we operate remain subject to periodic instability and generally do not meet the banking standards of more developed markets. Armed conflict, or the threat of armed conflict, including the significant military action against Ukraine launched by Russia, as well as sanctions targeting banks in the region in response to such military action, could contribute to banking challenges or a banking crisis in these countries. Such events, or a financial crisis or the bankruptcy or insolvency of banks through which we receive, or with which we hold, funds may result in the loss of our deposits or adversely affect our ability to complete banking transactions in that region, which could materially adversely affect our business and financial condition.
Furthermore, existing tensions and the emergence of new or escalated tensions in CIS and CEE countries, including the significant military action against Ukraine launched by Russia, has exacerbated and could further exacerbate tensions between such countries and the U.S. Such tensions, concerns regarding information security, and actual and potential imposition of additional sanctions by the U.S. and other countries, or responses by Russia to such additional sanctions, may discourage existing or prospective clients to engage our services, have a negative effect on our ability to develop or maintain our operations in the countries where we currently operate, and disrupt our ability to attract, hire and retain employees. The occurrence of any such event may have a material adverse effect on our business, financial condition and results of operations.
We have acquired and expanded operations in Moldova, Mexico and India respectively. The laws and regulations in Mexico and India to which we have become subject thereby, and interpretations thereof, may change, sometimes substantially, as a result of a variety of factors beyond our control, including political, economic, regulatory or social events. In Mexico, as a result of amendments in May 2019 to the Mexican Federal Labor Law (Ley Federal del Trabajo) and other related regulations, among other things, new labor authorities and courts were created, new bargaining procedures were implemented and provisions related to employees’ freedom of association and organization, collective bargaining agreements, and rules against labor discrimination were issued or amended. We cannot assure you that these changes will not lead to an increase in litigation, labor activism or increasingly contentious labor relations, which in turn may adversely affect our business, financial condition, results of operations and prospects, particularly in Mexico. These and any other policies, laws and regulations which are further



adopted could result in a deterioration of investment sentiment, political and economic uncertainty, and increased costs for our business, which may in turn have a material adverse effect on our business, financial condition, liquidity and results of operations.
Our effective tax rate could be adversely affected by several factors.
We conduct business globally and file income tax returns in multiple jurisdictions. Our effective tax rate could be materially adversely affected by several factors, including changes in the amount of income taxed by, or allocated to, the various jurisdictions in which we operate that have differing statutory tax rates; changing tax laws, regulations and interpretations of such tax laws in multiple jurisdictions; and the resolution of issues arising from tax audits or examinations and any related interest or penalties. In particular, there have been significant changes to the taxation systems in CEE countries in recent years as the authorities have gradually replaced or introduced new legislation regulating the application of major taxes such as corporate income tax, value-added tax, corporate property tax, personal income taxes and payroll taxes. The Organization for Economic Cooperation and Development has made a number of proposals, including implementing a new global minimum effective corporate tax rate of 15% for large multinational companies and rules that would result in the reallocation of certain profits to market jurisdictions where customers and users are located. Furthermore, any significant changes to U. S. tax law could materially adversely affect our effective tax rate. The recently enacted Inflation Reduction Act includes, among other changes, a 1% excise tax on certain stock repurchases.
The determination of our provision for income taxes and other tax liabilities requires estimation, judgment and calculations where the ultimate tax determination may not be certain. Our determination of tax liability is always subject to review or examination by authorities in various jurisdictions. If a tax authority in any jurisdiction reviews any of our tax returns and proposes an adjustment, including a determination that the transfer prices and terms we have applied are not appropriate, such an adjustment could have an adverse effect on our business, financial condition and results of operations.
We are unable to predict what tax reforms may be proposed or enacted in the future or what effect such changes would have on our business, but such changes, to the extent they are brought into tax legislation, regulations, policies or practices in jurisdictions in which we operate, could increase the estimated tax liability that we have expensed to date and paid or accrued on our balance sheets, and otherwise affect our financial position, future results of operations, cash flows in a particular period and overall or effective tax rates in the future in countries where we have operations, reduce post-tax returns to our stockholders and increase the complexity, burden and cost of tax compliance.
There may be adverse tax and employment law consequences if the independent contractor status of some of our personnel or the exempt status of our employees is successfully challenged.
Certain of our personnel are retained as independent contractors. The criteria to determine whether an individual is considered an independent contractor or an employee are typically fact intensive and vary by jurisdiction, as can the interpretation of the applicable laws. If a government authority or court makes any adverse determination with respect to some or all of our independent contractors, we could incur significant costs, including for prior periods, in respect of tax withholding, social security taxes or payments, workers’ compensation and unemployment contributions, and recordkeeping, or we may be required to modify our business model, any of which could materially adversely affect our business, financial condition and results of operations.
Global mobility of employees may potentially create additional tax liabilities for us in different jurisdictions.
In performing services to clients, our employees have been and may be required to travel to various locations. Depending on the length of the required travel and the nature of employees’ activities the tax implications of travel arrangements vary, with generally more extensive tax consequences in cases of longer travel. Such tax consequences mainly include payroll tax liabilities related to employee compensation and, in cases envisaged by international tax legislation, taxation of profits generated by employees during their time of travel.
We have internal procedures, policies and systems, including an internal mobility program, for monitoring our tax liabilities arising in connection with business travel. However, considering that the tax authorities worldwide are paying closer attention to global mobility issues, our operations may be adversely affected by additional tax charges related to the activity of our mobile employees. These risks may also affect us as we are relocating employees from Ukraine to other locations.



Tax authorities may disagree with our positions and conclusions regarding certain tax positions, or may apply existing rules in an arbitrary or unforeseen manner, resulting in unanticipated costs, taxes or non-realization of expected benefits.
A tax authority may disagree with tax positions that we have taken, which could result in increased tax liabilities. For example, a tax authority could challenge our allocation of income by tax jurisdiction and the amounts paid between our affiliated companies pursuant to our intercompany arrangements and transfer pricing policies, including methodologies for valuing developed technology and amounts paid with respect to our intellectual property development.
A tax authority may take the position that material income tax liabilities, interest and penalties are payable by us, where there has been a technical violation of contradictory laws and regulations that are relatively new and have not been subject to extensive review or interpretation, in which case we expect that we might contest such assessment. High-profile companies can be particularly vulnerable to aggressive application of unclear requirements. Many companies must negotiate their tax bills with tax inspectors who may demand higher taxes than what the applicable law appears to provide. Contesting such an assessment may be lengthy and costly and if we were unsuccessful in disputing the assessment, the implications could increase our anticipated effective tax rate, where applicable.
Our business, financial condition and results of operations may be adversely affected by fluctuations in foreign currency exchange rates.
Grid Dynamics is exposed to foreign currency exchange rate risk and its profit margins are subject to volatility between periods due to changes in foreign currency exchange rates relative to the U.S. dollar. Grid Dynamics’ functional currency is the U.S. dollar. That said, the company’s revenues and costs are exposed to a number of currencies that include EURO, British pounds, Mexican pesos, Polish zloty, and Indian rupees. As we do not hedge our foreign currency, we are exposed to foreign currency exchange transaction risk related to funding our non-U.S. operations and to foreign currency translation risk related to certain of our subsidiaries’ cash balances that are denominated in currencies other than the U.S. dollar. In addition, our profit margins are subject to volatility as a result of changes in foreign exchange rates. In the three months ended March 31, 2024 and 2023, approximately 39.1% and 34.9% of our combined cost of revenue and total operating expenses were denominated in currencies other than the U.S. dollar, respectively. Any significant fluctuations in currency exchange rates may have a material impact on our business and results of operations. In some countries, we may be subject to regulatory or practical restrictions on the movement of cash and the exchange of foreign currencies, which would limit our ability to use cash across our global operations and increase our exposure to currency fluctuations. This risk could increase as we continue expanding our global operations, which may include entering emerging markets that may be more likely to impose these types of restrictions. Currency exchange volatility caused by political or economic instability or other factors, could also materially impact our results. See the section titled, “Quantitative and Qualitative Disclosures about Market Risk—Foreign Currency Exchange Rate Risk” in our most recent annual report on Form 10-K and this quarterly report on Form 10-Q for more information about our exposure to foreign currency exchange rates.
We may be exposed to liability for actions taken by our subsidiaries.
In certain cases, we may be jointly and severally liable for losses of our subsidiaries. Irrespective of incurring liability for losses of our subsidiaries, we may incur secondary liability and, in certain cases, liability to creditors for obligations of our subsidiaries in certain instances involving bankruptcy or insolvency.
Further, an effective parent is secondarily liable for an effective subsidiary’s debts if the effective subsidiary becomes insolvent or bankrupt as a result of the action or inaction of the effective parent. Compensation for the effective subsidiary’s losses from the effective parent that caused the effective subsidiary to take action or fail to take action, knowing that such action or failure to take action would result in losses, may be claimed, inter alia, by the other stockholders of the effective subsidiary, the administrators and creditors in an insolvency proceeding. We could be found to be the effective parent of the subsidiaries, in which case we could become liable for their debts, which could have a material adverse effect on our business, financial condition and results of operations or prospects.
Our profitability may suffer if we are unable to maintain our resource utilization and productivity levels.
As most of our client projects are performed and invoiced on a time and materials basis, our management tracks and projects billable hours as an indicator of business volume and corresponding resource needs for IT professionals. To maintain our gross profit margins, we must effectively utilize our IT professionals, which depends on our ability to:
integrate and train new personnel;
efficiently transition personnel from completed projects to new assignments;



forecast customer demand for services; and
deploy personnel with appropriate skills and seniority to projects.
If we experience a slowdown or stoppage of work for any client, or on any project for which we have dedicated personnel or facilities, we may be unable to reallocate these personnel or assets to other clients and projects to keep their utilization and productivity levels high. If we are unable to maintain appropriate resource utilization levels, our profitability may suffer.
If we are unable to accurately estimate the cost of service or fail to maintain favorable pricing for our services, our contracts may be unprofitable.
Grid Dynamics expects proportionate revenue from fixed-fee contracts to increase in future periods. In order for our contracts to be profitable, we must be able to accurately estimate our costs to provide the services required by the applicable contract and appropriately price our contracts. Such estimates and pricing structures used by us for our contracts are highly dependent on internal forecasts, assumptions and predictions about our projects, the marketplace, global economic conditions (including foreign exchange volatility) and the coordination of operations and personnel in multiple locations with different skill sets and competencies. Due to the inherent uncertainties that are beyond our control, we may underprice our projects, fail to accurately estimate the costs of performing the work or fail to accurately assess the risks associated with potential contracts. In select cases, we also offer volume discounts once a client reaches certain contractual spend thresholds, which may lower the reference price for a client or result in a loss of profits if we do not accurately estimate the amount of discounts to be provided. We may not be able to recognize revenues from fixed-fee contracts in the period in which our services are performed, which may cause our margins to fluctuate. Any increased or unexpected costs, delays or failures to achieve anticipated cost savings, or unexpected risks we encounter in connection with the performance of our contracts, including those caused by factors outside our control, could make these contracts less profitable or unprofitable.
We face risks associated with the long selling and implementation cycle for our services that require significant resource commitments prior to realizing revenues for those services.
We have a long selling cycle for our services, which requires us to expend substantial time and resources to educate clients on the value of our services and our ability to meet their requirements. In certain cases, we may begin work and incur costs prior to executing a contract. Our selling cycle is subject to many risks and delays over which we have little or no control, including clients’ decisions to choose alternatives to our services (such as other IT services providers or in-house resources) and the timing of clients’ budget cycles and approval processes. Therefore, selling cycles for new clients can be especially unpredictable and we may fail to close sales with prospective clients to whom we have devoted significant time and resources. Any significant failure to generate revenues or delays in recognizing revenues after incurring costs related to sales processes could have a material adverse effect on our business, financial condition and results of operations.
Failure to obtain engagements for and effectively manage increasingly large and complex projects may have an adverse effect on our business, financial condition and results of operations.
Our operating results are dependent on the scale of our projects and the prices we are able to charge for our services. In order to successfully perform larger and more complex projects, we need to establish and maintain effective, close relationships with our clients, continue high levels of client satisfaction and develop a thorough understanding of our clients’ needs. We may also face a number of challenges managing larger and more complex projects, including:
maintaining high quality control and process execution standards;
maintaining planned resource utilization rates on a consistent basis;
using an efficient mix of on-site, off-site and offshore staffing;
maintaining productivity levels;
implementing necessary process improvements;
recruiting and retaining sufficient numbers of highly skilled IT personnel; and
controlling costs.
There is no guarantee that we may be able to overcome such challenges. In addition, large and complex projects may involve multiple engagements or stages, and there is a risk that a client may choose not to retain us for additional stages or may cancel or delay additional planned engagements. Our failure to successfully obtain engagements for and effectively manage large and complex projects may have an adverse effect on our business, financial condition and results of operations.



Increases in compensation expenses, including stock-based compensation expenses, could lower our profitability, and dilute our existing stockholders.
Wages and other compensation costs in the countries in which we maintain significant operations and delivery centers are lower than comparable wage costs in more developed countries. However, wages in the technology industry in these countries may increase at a faster rate than in the past, which may make us less competitive unless we are able to increase the efficiency and productivity of our people. If we increase operations and hiring in more developed economies, our compensation expenses will increase because of the higher wages demanded by technology professionals in those markets. Wage inflation, whether driven by competition for talent or ordinary course pay increases, could increase our cost of services as well as selling, general and administrative expenses and reduce our profitability if we are not able to pass those costs on to our customers or charge premium prices when justified by market demand.
In addition, we have granted certain equity-based awards under our equity incentive plans and expect to continue doing so. For the three months ended March 31, 2024 and 2023, Grid Dynamics recorded $11.3 million and $13.3 million, respectively, of stock-based compensation expense related to the grant of equity-based awards. If we do not grant equity awards, or if we reduce the value of equity awards we grant, we may not be able to attract, hire and retain key personnel. If we grant more equity awards to attract, hire and retain key personnel, the expenses associated with such additional equity awards could materially adversely affect our results of operations. If the anticipated value of these equity awards does not materialize because of volatility or lack of positive performance in our stock price, we may be unable to retain our key personnel or attract and retain new key employees in the future, in which case our business may be severely disrupted and our ability to attract and retain personnel could be adversely affected. The issuance of equity-based compensation may also result in dilution to stockholders.
Failure to collect receivables from, or bill for unbilled services to, clients may have a material adverse effect on our results of operations and cash flows.
Our business depends on our ability to successfully obtain payment from our clients of the amounts they owe for work performed. We usually bill and collect such amounts on relatively short cycles and maintain allowances for doubtful accounts. However, actual losses on client balances could differ from those that we anticipate and, as a result, we might need to adjust our allowances.
There is no guarantee that we will accurately assess the creditworthiness of our clients. If clients suffer financial difficulties, it could cause them to delay payments, request modifications to their payment arrangements that could increase our receivables balance, or default on their payment obligations.
In addition, some of our clients may delay payments due to changes in internal payment procedures driven by rules and regulations to which they are subject. Timely collection of client balances also depends on our ability to complete our contractual commitments and bill and collect contracted revenues. If we are unable to meet our contractual requirements, we may experience delays in collection of or inability to collect accounts receivable. If this occurs, our financial condition, results of operations and cash flows could be materially adversely affected.
Our debt service obligations may adversely affect our financial condition and cash flows from operations.
On March 15, 2022, we entered into a Credit Agreement (the “2022 Credit Agreement”), by and among us, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a three-year secured multicurrency revolving loan facility in an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. We may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. Our obligations under the 2022 Credit Agreement are required to be guaranteed by certain of our domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of our and our subsidiary guarantors.

Maintenance of our indebtedness, contractual restrictions, and additional issuances of indebtedness could:



cause us to dedicate a substantial portion of our cash flows from operations towards debt service obligations and principal repayments;
increase our vulnerability to adverse changes in general economic, industry, and competitive conditions;
limit our flexibility in planning for, or reacting to, changes in our business and our industry;
impair our ability to obtain future financing for working capital, capital expenditures, acquisitions, general corporate, or other purposes; and
due to limitations within the debt instruments, restrict our ability to take certain corporate actions, subject to customary exceptions.

We are required to comply with the covenants set forth in our credit agreement. If we breach any of the covenants and do not obtain a waiver from the lenders, then, subject to applicable cure periods, we would not be able to incur additional indebtedness under the credit agreement, and any outstanding indebtedness under the credit agreement may be declared immediately due and payable.
We may need additional capital and failure to raise additional capital on terms favorable to us, or at all, could limit our ability to grow our business and develop or enhance our service offerings to respond to market demand or competitive challenges.
We may require additional cash resources due to changed business conditions or other future developments. If existing resources are insufficient to satisfy cash requirements, we may seek to sell additional equity or debt securities or obtain one or more credit facilities. The sale of additional equity securities could result in dilution to stockholders. The incurrence of indebtedness would result in increased debt service obligations and could require us to agree to operating and financing covenants that would restrict our operations. In addition, actual events involving limited liquidity, defaults, non-performance or other adverse developments that affect financial institutions, transactional counterparties or other companies in the financial services industry or the financial services industry generally, or concerns or rumors about any events of these kinds or other similar risks, have in the past and may in the future lead to market-wide liquidity problems. Our cash is held with high-quality financial institutions. Deposits held with banks may, at times, exceed the amount of insurance provided on such deposits. Additionally we hold cash deposits in countries where the banking sector remains periodically unstable, banking and other financial systems generally do not meet the banking standards of more developed markets, and bank deposits made by corporate entities are not insured. Such countries apart from Ukraine include Armenia, Moldova, Serbia and Mexico. We place our cash with financial institutions considered stable in the region and conducts ongoing evaluations of the credit worthiness of the financial institutions with which we operate. However, a banking crisis, bankruptcy or insolvency of banks that process or hold our funds, may result in the loss of our deposits or adversely affect our ability to complete banking transactions, which could adversely affect our liquidity, business and financial condition.
Our ability to obtain additional capital on acceptable terms is subject to a variety of uncertainties, including investors’ perception of, and demand for, securities of IT services companies, conditions in the capital markets in which we may seek to raise funds, our future results of operations and financial condition, and general economic and political conditions. Financing may not be available in amounts or on terms acceptable to us, or at all, which could limit our ability to grow our business and develop or enhance our service offerings to respond to market demand or competitive challenges.
War, terrorism, other acts of violence, or natural or man-made disasters may affect the markets in which we operate, our clients and our service delivery.
Our business may be adversely affected by instability, disruption or destruction in a geographic region in which we operate, regardless of cause, including war, terrorism, riot, civil insurrection or social unrest, climate change, and natural or man-made disasters, including famine, flood, fire, earthquake, storm or pandemic events and spread of disease, such as the COVID-19 pandemic. For example, the significant military action against Ukraine launched by Russia and the conflict between Israel and Hamas have affected and will further affect our business and have resulted in disruptions in the broader global economic and geopolitical environment, which may further affect our business. Such events and conflicts may cause clients to delay their decisions on spending for the services provided by us and give rise to sudden significant changes in regional and global economic conditions and cycles. These events also pose significant risks to our personnel and to physical facilities and operations, which could materially adversely affect our financial results.
Acquisitions could be difficult to identify and integrate, divert the attention of management, disrupt our business, dilute stockholder value and adversely affect our financial condition and results of operations, we may not achieve the financial



and strategic goals that were contemplated at the time of a transaction, and we may be exposed to claims, liabilities and disputes as a result of the transaction that may adversely impact our business, operating results and financial condition.
We continuously review and consider strategic acquisitions of businesses, products or technologies. For example, in December 2022 we acquired Mutual Mobile, and in April 2023 we acquired NextSphere Technologies. In the future we may seek to acquire or invest in other businesses, products or technologies that we believe could complement or expand our services, enhance our technical capabilities or otherwise offer growth opportunities. The pursuit of potential acquisitions may divert the attention of management and cause us to incur various expenses in identifying, investigating and pursuing suitable acquisitions, whether or not the acquisition purchases are completed. Additionally, we may not be able to find and identify desirable acquisition targets or be successful in entering into an agreement with any particular target or obtain adequate financing to complete such acquisitions. If we acquire businesses, we may not be able to successfully integrate the acquired personnel, operations, and technologies, or effectively manage the combined business following the acquisition.
Additionally, we may not be able to find and identify desirable acquisition targets or be successful in entering into an agreement with any particular target or obtain adequate financing to complete such acquisitions. Acquisitions could also result in dilutive issuances of equity securities or the incurrence of debt, which could adversely affect our financial condition, cash flows and results of operations. In addition, if an acquired business fails to meet our expectations, we may not achieve the financial and strategic goals that were contemplated at the time of a transaction, and our business, financial condition and results of operations may be adversely affected. Furthermore, we may acquire businesses that have inferior margins and profitability levels in comparison to our existing business and this may dilute our overall profitability of the company. This, in turn, may result in adverse financial results and dilution to existing stockholders.
Our operating results or financial condition may be adversely impacted by claims or liabilities that we assume from an acquired company or technology or other claims or liabilities otherwise related to an acquisition, including, among others, claims from governmental and regulatory agencies or bodies, terminated employees, current or former customers, current or former stockholders or other third parties, or arising from contingent payments related to the acquisition; pre-existing contractual relationships that we assume from an acquired company that we would not have otherwise entered into, the termination or modification of which may be costly or disruptive to our business; unfavorable revenue recognition or other accounting treatment as a result of an acquired company’s practices; and intellectual property claims or disputes. We may fail to identify or assess the magnitude of certain liabilities, shortcomings or other circumstances prior to acquiring a company or technology, which could result in unexpected litigation or regulatory exposure and other adverse effects on our business, operating results and financial condition.
We face risks associated with the transparency, quality, and reliability of financial information of a business we acquire.
Although we perform due diligence on a targeted business that we intend to acquire, we are exposed to risks associated with the quality and reliability of the financial statements of the acquired business. This risk may be higher with smaller businesses and businesses that are operated in jurisdictions and countries with poorer regulatory and compliance requirements. In such situation where we acquire a target with unreliable financial statements, we are exposed to material risks that may impact the reliability of our overall financial statements and may adversely impact our stock price.
We also cannot assure you that the diligence we conduct when evaluating future acquisitions will reveal all material issues that may be present, that it would be possible to uncover all material issues through a customary amount of due diligence, or that factors outside of our control will not later arise. Even if our due diligence successfully identifies certain risks, unexpected risks may arise and previously known risks may materialize in a manner not consistent with our preliminary risk analysis. Further, as a result of a completed acquisition, purchase accounting, and integration of the acquired business, we may be required to take write-offs or write-downs, restructuring and impairment or other charges that could negatively affect our business, assets, liabilities, prospects, outlook, financial condition and results of operations.
Some of the additional risks associated with acquiring a business include, but not limited to the following:
inability to integrate or benefit from acquired technologies or services;
product synergies, cost reductions, increases in revenue and economies of scale may not materialize as expected;
the business culture of the acquired entity may not match well with our culture;
unforeseen delays, unanticipated costs and liabilities may arise when integrating operations, processes and systems in geographies where we have not conducted business;
unanticipated costs or liabilities associated with the strategic transactions;



incurrence of transaction-related costs;
assumption of the existing obligations or unforeseen liabilities of the acquired business;
difficulty integrating the accounting systems, security infrastructure, operations, and personnel of the acquired business;
difficulties and additional expenses associated with supporting legacy products and hosting infrastructure of the acquired business;
difficulty converting the current and prospective customers of the acquired business onto our platform and contract terms, including disparities in the revenue, licensing, support, or professional services model of the acquired company;
diversion of management’s attention from other business concerns;
adverse effects to our existing business relationships with business partners and customers as a result of the strategic transactions;
unexpected costs may arise due to unforeseen changes in tax, payroll, pension, labor, trade, environmental and safety policies in new jurisdictions where the acquired entity operates;
difficulty in retaining, motivating and integrating key management and other employees of the acquired business;
use of resources that are needed in other parts of our business;
dispute over contingent payments; and
use of substantial portions of our available cash to consummate the strategic transaction.
Changes in financial accounting standards or practices may cause adverse, unexpected financial reporting fluctuations and affect our reported results of operations.
Generally accepted accounting principles in the U.S. are subject to interpretation by the Financial Accounting Standards Board (“FASB”), the SEC and various bodies formed to promulgate and interpret appropriate accounting principles. A change in accounting standards or practices can have a significant effect on our reported results and may even affect our reporting of transactions completed before the change is effective. New accounting pronouncements and varying interpretations of accounting pronouncements have occurred and may occur in the future. Changes to existing rules or the questioning of current practices may adversely affect our reported financial results or the way we conduct our business.
Reports published by analysts, including projections in those reports that differ from our actual results, could adversely affect the price and trading volume of our common stock.
Securities research analysts may establish and publish their own periodic projections for us. These projections may vary widely and may not accurately predict the results we actually achieve. Our share price may decline if our actual results do not match the projections of these securities research analysts. Similarly, if one or more of the analysts who write reports on us downgrades our stock or publishes inaccurate or unfavorable research about our business, our share price could decline. If one or more of these analysts ceases coverage of us or fails to publish reports on us regularly, our share price or trading volume could decline and demand for our shares could decrease.
Risks Related to Government Regulations
We are exposed to various risks related to the global regulatory environment as well as legal proceedings, claims and the like.
As a public company with global operations, we are subject to the laws of the United States and multiple foreign jurisdictions and the rules and regulations of various governing bodies, which may differ among jurisdictions, including those related to financial and other disclosures, accounting standards, corporate governance, intellectual property, tax, trade (including import, export and customs), antitrust, environment, health and safety (including those relating to climate change), employment, immigration and travel regulations, privacy, data protection and localization, anti-corruption, investment and treasury regulations. Changing, inconsistent or conflicting laws, rules and regulations, and ambiguities in their interpretation and application create uncertainty and challenges, and compliance with laws, rules and regulations may be onerous and expensive, divert management time and attention from revenue-generating activities, and otherwise adversely impact our business operations. Violations or alleged violations of law, rules and regulations, including, among others, those described above, could



result in fines, criminal penalties, restrictions on our business, and damage to our reputation, and could have an adverse impact on our business operations, financial condition and results of operations.
From time to time we are involved in legal proceedings or claims regarding a variety of legal or regulatory matters or receive governmental or third-party requests for information regarding compliance or regulatory matters. Legal proceedings, claims, and such requests for information, whether with or without merit, may be time-consuming and expensive; divert management’s attention and other resources; result in adverse judgments for damages, injunctive relief, penalties and fines; and negatively affect our business. There can be no assurance regarding the outcome of any legal proceedings, claims or the like.
Failure to comply with laws and regulations relating to privacy, data protection, and cybersecurity could lead to government enforcement actions, private litigation and adverse publicity.
We receive, store and process personal information and other data from and about customers in addition to our employees and contractors. Our handling of data is subject to a variety of laws and regulations, including regulation by various government agencies and various state, local and foreign agencies. Our data handling also is subject to contractual obligations and may be deemed to be subject to industry standards, including certain industry standards that we undertake to comply with. The laws and regulations relating to privacy. data protection and cybersecurity are evolving, can be subject to significant change and may result in ever-increasing regulatory and public scrutiny and escalating levels of enforcement and sanctions..
For example, the European Union has implemented the General Data Protection Regulation (“GDPR”), which came into effect on May 25, 2018. The GDPR has a significant impact on how businesses can collect and process the personal data of individuals in the European Economic Area (“EEA”). The regulation includes stringent operational requirements for processors and controllers of personal data and imposes significant penalties for non-compliance of up to the greater of €20 million or 4% of global annual revenues. With regard to transfers to the U.S. of personal data from our employees and European customers and users, we rely upon standard contractual clauses approved by the European Commission (the “SCCs”). The SCCs have been subject to legal challenge and may be modified or invalidated, and we may be unsuccessful in maintaining legitimate means for the transfer and receipt of personal data from the EEA. In 2020, the Court of Justice of the European Union (the “CJEU”) deemed the SCCs valid, but ruled that transfers made pursuant to the SCCs and other alternative transfer mechanisms must be analyzed on a case-by-case basis.  Subsequent guidance from EU regulators has stated that in certain cases, the SCCs must be accompanied by the use of supplementary measures. Concerns remain about the potential for the SCCs and other mechanisms to face additional challenges. On June 4, 2021, the European Commission published new SCCs and required their implementation. Additionally, the United Kingdom has enacted legislation that substantially implements the GDPR, with a similar penalty structure, and has issued new standard contractual clauses to support personal data transfers out of the United Kingdom (“UK SCCs”). We may, experience additional costs associated with increased compliance burdens in connection with developments relating to cross-border data transfers, and we and our customers face the potential for regulators in the EEA, Switzerland, or the United Kingdom to apply different standards to the transfer of personal data from those regions to the U.S., and to block, or require ad hoc verification of measures taken with respect to, certain data flows from those regions to the U.S. We also may be required to engage in new contract negotiations with third parties that aid in processing data on our behalf. We may experience reluctance or refusal by current or prospective customers in those regions to use our products, and may find it necessary or desirable to make further changes to our handling of personal data of residents of those regions. The regulatory environment applicable to the handling of personal data of residents of the EEA, Switzerland, and the United Kingdom, and our actions taken in response, may cause us to assume additional liabilities or incur additional costs and obligations and could result in our business, operating results and financial condition being harmed. Additionally, we and our customers may face a risk of enforcement actions by data protection authorities relating to personal data transfers. Any such enforcement actions could result in substantial costs and diversion of resources, distract management and technical personnel and negatively affect our business, operating results and financial condition.
In addition, California has enacted legislation that has been described as the first “GDPR-like” law in the U.S. The California state legislature passed the California Consumer Privacy Act (“CCPA”) in 2018 and California voters approved a ballot measure subsequently establishing the California Privacy Rights Act (“CPRA”) in 2020, which modifies the CCPA and increases the privacy and security obligations of entities handling certain personal information of California residents, including requiring covered companies to provide new disclosures to California consumers, and afford such consumers new abilities to opt-out of certain sales of personal information. The CCPA came into effect on January 1, 2020, and the California Attorney General may bring enforcement actions, with penalties for violations of the CCPA. The CPRA is effective as of January 1, 2023, instilling enforcement authority in a new dedicated regulatory body, the California Privacy Protection Agency. Other states have also proposed, and in certain aspects enacted, legislation similar to the CCPA including Virginia, Colorado, Utah, and Connecticut, all of which enacted such laws with effectiveness in 2023. Numerous other states have enacted similar legislation that is set to become effective in 2024 through 2026, and other states have passed other types of privacy legislation. For example, Washington has enacted the My Health, My Data Act, which includes a private right of action. Aspects of the



CCPA, CPRA, other state laws, and their interpretations remain uncertain. We cannot yet fully predict the impact of these laws on our business or operations, but developments regarding these and other privacy and data protection laws and regulations around the world may require us to modify our data processing practices and policies and to incur substantial additional costs and expenses in an effort to maintain compliance on an ongoing basis. Other countries and jurisdictions throughout the world are considering or enacting laws and regulations requiring the local storage of data. For example, under Russian law, all data operators collecting personal data of Russian citizens through electronic communications, including the Internet, must comply with Russian laws regulating the local storage of such data in databases located in the territory of Russia. This law applies not only to local data controllers but also to data controllers established outside Russia to the extent they gather personal data relating to Russian nationals through websites aimed at the territory of Russia.
We have been undertaking measures in an effort to comply with the GDPR, CCPA, CPRA and other applicable privacy and data protection laws and regulations, and our efforts to comply with these laws and regulations may require us to incur substantial operational costs and to require its data handling practices. The costs of our measures designed to comply with, and other burdens imposed by, such laws, regulations and policies that are applicable to us may limit the use and adoption of our products and solutions, alter the way we conduct business and/or could otherwise have a material adverse impact on our results of operations. For example, we may find it necessary to establish systems to maintain data originated in certain jurisdictions within those jurisdictions, which may involve substantial expense and distraction from other aspects of our business. Further, the costs of compliance with, and other burdens imposed by, such laws, regulations and policies that are applicable to us, may limit the use and adoption of our products and solutions and could have a material adverse impact on our results of operations.
Any failure or perceived failure (including as a result of deficiencies in our policies, procedures or measures relating to privacy, data protection, cybersecurity, marketing or client communications) by us to comply with laws, regulations, policies, legal or contractual obligations, industry standards, or regulatory guidance relating to privacy, data protection or cybersecurity may result in governmental investigations and enforcement actions, litigation, fines and penalties or adverse publicity and could cause our clients to lose trust in us, which could have a material adverse effect on our reputation, business, financial condition and results of operations.
We expect that there will continue to be new proposed laws, regulations and industry standards relating to privacy, data protection, cybersecurity, marketing, consumer communications and information security in the U.S., the European Union, Russia and other jurisdictions, and we cannot determine the impact such future laws, regulations and standards may have on our business. Future laws, regulations, standards and other obligations or any changed interpretation or enforcement of existing laws or regulations could impair our ability to develop and market new services and maintain and grow our client base and increase revenue.
We are subject to governmental export controls and trade and economic sanctions that could impair our ability to compete in international markets or subject us to liability if we violate these controls.
Our operations are subject to laws and regulations restricting our operations, including activities involving restricted countries, organizations, entities and persons that have been identified as unlawful actors or that are subject to U.S. sanctions imposed by the Office of Foreign Assets Control (“OFAC”) or other international economic sanctions that prohibit us from engaging in trade or financial transactions with certain countries, businesses, organizations and individuals. Additionally, the United States and various foreign governments have imposed controls, export license requirements and restrictions on the import or export of certain products, technologies and software. Obtaining the necessary export license or other authorization for a particular sale may be time-consuming and may result in the delay or loss of sales opportunities. For example, as mentioned above, following Russia’s invasion of Ukraine, the United States and other countries imposed certain economic sanctions and severe export control restrictions against Russia and Belarus as well as certain Russian nationals which required us to terminate certain business relationships. As of May 2023, our former subsidiary in Russia is liquidated and is not performing any client services from Russia. These sanctions and restrictions have continued to increase as the conflict has further escalated, and the United States and other countries could impose wider sanctions and export restrictions and take other actions in the future that could further impact our business.
We have implemented controls to ensure that we are in compliance with export controls, OFAC sanctions, and similar sanctions, laws and regulations, and we periodically undergo a review of those controls. This review could result in the discovery of issues or violations with respect to the foregoing by us or our employees, independent contractors, subcontractors or agents of which we were previously unaware.
Any investigation of any potential violations of such laws by the U.S. or other jurisdictions could also have an adverse impact on our reputation, business, financial condition and results of operations.



Failure to comply with anti-bribery and anti-corruption laws and anti-money laundering laws, and similar laws, could subject us to penalties and other adverse consequences.
We are subject to the U.S. Foreign Corrupt Practices Act of 1977 (the “FCPA”), the U.S. domestic bribery statute contained in 18 U.S.C. § 201, the United Kingdom Bribery Act 2010, and possibly other anti-bribery and anti-corruption laws and anti-money laundering laws in countries outside of the United States where we conduct our activities. Anti-corruption and anti-bribery laws have been enforced aggressively in recent years and are interpreted broadly to generally prohibit companies, their employees, agents, representatives, business partners, and third-party intermediaries from authorizing, offering, or providing, directly or indirectly, improper payments or benefits to recipients in the public or private sector. We operate in many parts of the world that have experienced governmental corruption to some degree, and, in certain circumstances, strict compliance with anti-bribery laws may conflict with local customs and practices.
We sometimes leverage third parties to sell our products and conduct our business abroad. We, our employees, agents, representatives, business partners and third-party intermediaries may have direct or indirect interactions with officials and employees of government agencies or state-owned or affiliated entities and we may be held liable for the corrupt or other illegal activities of these employees, agents, representatives, business partners or third-party intermediaries even if we do not explicitly authorize such activities. We cannot assure you that all of our employees, agents, representatives, business partners or third-party intermediaries will not take actions in violation of applicable law for which we may be ultimately held responsible. As we increase our international sales and business, our risks under these laws may increase.
These laws also require that we keep accurate books and records and maintain internal controls and compliance procedures designed to prevent any such actions. While we have policies and procedures to address compliance with such laws, we cannot assure you that none of our employees, agents, representatives, business partners or third-party intermediaries will take actions in violation of our policies and applicable law, for which we may be ultimately held responsible.
Any allegations or violation of the FCPA or other applicable anti-bribery and anti-corruption laws and anti-money laundering laws could result in whistleblower complaints, sanctions, settlements, prosecution, enforcement actions, fines, damages, adverse media coverage, investigations, loss of export privileges, severe criminal or civil sanctions, or suspension or debarment from government contracts, all of which may have an adverse effect on our reputation, business, results of operations, and prospects. Responding to any investigation or action will likely result in a materially significant diversion of management’s attention and resources and significant defense costs and other professional fees
Changes to the U.S. administration’s fiscal, political, regulatory and other policies may adversely affect our business, financial condition and results of operations.
Recent events, including new policy introductions following the 2020 U.S presidential election, may result in substantial regulatory uncertainty regarding international trade and trade policy. U.S. policies have called for substantial changes to trade agreements, have increased tariffs on certain goods imported into the U.S. and have raised the possibility of imposing significant, additional tariff increases. In the past, unilateral tariffs on imported products by the U.S. have triggered retaliatory actions from certain foreign governments, including China and may trigger retaliatory actions by other foreign governments, potentially resulting in a “trade war.” While we cannot predict the extent to which the U.S. or other countries will impose quotas, duties, tariffs, taxes or other similar restrictions upon the import or export of our products in the future, a “trade war” of this nature or other governmental action related to tariffs or international trade agreements could have an adverse impact on demand for our services, sales and clients and affect the economies of the U.S. and various countries, having an adverse effect on our business, financial condition and results of operations.
In addition, regulatory, judicial or other developments regarding SPACs or companies, such as us, that have merged with a SPAC, could have an adverse effect on us. There can be no assurances that such developments or other regulations and legal circumstances unique to SPACs would not have an adverse effect on our business, financial condition and results of operations.
Negative publicity about offshore outsourcing or anti-outsourcing legislation and restriction on immigration may have an adverse effect on our business.
The issue of companies outsourcing services to organizations operating in other countries is a topic of political discussion in many countries, including the U.S., which is our largest source of revenues. Many organizations and public figures in the U.S. and Europe have publicly expressed concern about a perceived association between offshore outsourcing IT services providers and the loss of jobs in their home countries. For example, measures aimed at limiting or restricting outsourcing by U.S. companies are periodically considered in Congress and in numerous state legislatures to address concerns over the perceived association between offshore outsourcing and the loss of jobs in the U.S. A number of U.S. states have passed legislation that



restricts state government entities from outsourcing certain work to offshore IT services providers. Given the ongoing debate over this issue, the introduction and consideration of other restrictive legislation is possible. If enacted, such measures may broaden restrictions on outsourcing by federal and state government agencies and on government contracts with firms that outsource services directly or indirectly, impact private industry with measures such as tax disincentives or intellectual property transfer restrictions, and/or restrict the use of certain business visas. In addition, current or prospective clients may be discouraged from transferring services to providers that utilize offshore delivery centers such as us to avoid any negative perceptions that may be associated with using an offshore provider or for data privacy and security concerns. As a result, our ability to service our clients could be impaired and we may not be able to compete effectively with competitors that operate primarily from within the countries in which our clients operate. Any such slowdown or reversal of the existing industry trends toward offshore outsourcing may have a material adverse effect on our business, financial condition and results of operations. These risks may become more acute as we continue to expand to new geographies.
Some of our projects may involve our personnel obtaining visas to travel and work at customer sites outside of our personnel’s home countries and often in the United States. Our reliance on visas to staff projects with employees who are not citizens of the country where the work is to be performed makes us vulnerable to legislative and administrative changes in the number of visas to be issued in any particular year and other work permit laws and regulations. The process to obtain the required visas and work permits can be lengthy and difficult and variations due to political forces and economic conditions in the number of permitted applications, as well as application and enforcement processes, may cause delays or rejections when trying to obtain visas. Delays in obtaining visas may result in delays in the ability of our personnel to travel to meet with and provide services to our customers or to continue to provide services on a timely basis. In addition, the availability of a sufficient number of visas without significant additional costs could limit our ability to provide services to our customers on a timely and cost-effective basis or manage our sales and delivery centers as efficiently as we otherwise could. Delays in or the unavailability of visas and work permits could have a material adverse effect on our business, results of operations, financial condition and cash flows.
Our subsidiaries in CEE can be forced into liquidation on the basis of formal noncompliance with certain legal requirements.
We operate in CEE primarily through locally organized subsidiaries. Certain provisions of local laws may allow a court to order liquidation of a locally organized legal entity on the basis of its formal noncompliance with certain requirements during formation, reorganization or during its operations. If a company fails to comply with certain requirements including those relating to minimum net assets, governmental or local authorities can seek the involuntary liquidation of such company in court, and the company’s creditors will have the right to accelerate their claims or demand early performance of the company’s obligations as well as demand compensation for any damages. If involuntary liquidation of any of our subsidiaries were to occur, such liquidation could materially adversely affect our business, financial condition and results of operations.
Risks Associated with Intellectual Property
We may not be able to prevent unauthorized use of our intellectual property and our intellectual property rights may not be adequate to protect our business, financial condition and results of operations.
Our success largely depends on methodologies, practices, tools and technical expertise and other intellectual property that we use in designing, developing, implementing and maintaining our services and solutions. We rely upon a combination of nondisclosure, confidentiality, assignment of invention and other contractual arrangements as well as trade secret, patent, copyright and trademark laws to protect our intellectual property rights. We may also rely on litigation to enforce our intellectual property rights and contractual rights.
The nondisclosure and confidentiality agreements that we enter into with our employees, independent contractors, vendors and clients in order to protect our proprietary information may not provide meaningful protection against unauthorized use, misappropriation or disclosure for trade secrets, know-how or other proprietary information and there can be no assurance that others will not independently develop the know-how and trade secrets or develop better methods than us. Policing unauthorized use of such proprietary information is difficult and expensive. We may not be able to deter current and former employees, contractors, vendors, clients and other parties from breaching confidentiality agreements and misappropriating proprietary information and it is possible that third parties may copy, reverse engineer, or otherwise obtain and use our information and proprietary technology without authorization or otherwise infringing on our intellectual property rights. If these agreements are breached, we may not have adequate remedies for such breach.
In addition, our current and former employees or contractors could challenge our exclusive rights in the intellectual property they have developed in the course of their employment. In certain countries in which we operate, an employer is deemed to own the copyright in works created by its employees during the course, and within the scope, of their employment, provided certain



requirements are complied with. The employer may be required to satisfy additional legal requirements in order to make further use and dispose of such works. While we believe that we have complied with all such requirements and have fulfilled all requirements necessary to acquire all rights in intellectual property developed by our contractors and subcontractors, these requirements are often ambiguously defined and enforced.
Implementation of intellectual property-related laws in CIS and CEE countries in which we operate has historically been lacking and there is no assurance that we will be able to enforce or defend our rights under our non-disclosure, confidentiality or assignment of invention agreements or that protection of intellectual property rights in such countries will be as effective as that in the U.S. Any litigation relating to our intellectual property may not prove successful and might result in substantial costs and diversion of resources and management attention.
We have registered or applied to register certain patents, copyrights, and trademarks in the United States and may do so in countries outside the United States. However, there is no guarantee that these registrations will not be challenged, invalidated, or circumvented by third parties. Further, there can also be no assurance that pending or future United States or foreign trademark or patent applications will be approved in a timely manner or at all, or that such registrations will effectively protect our intellectual property or brand.
In some cases, litigation may be necessary to enforce our intellectual property rights or to protect our trade secrets. Litigation could be costly, time consuming and distracting to management and could result in the impairment or loss of portions of our intellectual property. Furthermore, our efforts to enforce our intellectual property rights may be met with defenses, counterclaims and countersuits attacking the validity and enforceability of our intellectual property rights and exposing us to significant damages or injunctions. Our inability to protect our intellectual property against unauthorized copying or use, as well as any costly litigation or diversion of our management’s attention and resources, could delay sales or the implementation of our products, impair the functionality of our products, delay introductions of new products, result in our substituting less-advanced or more-costly technologies into our products or harm our reputation. In addition, we may be required to license additional intellectual property from third parties to develop and market new products, and we cannot assure you that we could license that intellectual property on commercially reasonable terms or at all.
Due to the foregoing reasons, we cannot guarantee that we will be successful in maintaining existing or obtaining future intellectual property rights or registrations, be able to detect unauthorized use of our intellectual property and take appropriate steps to enforce and protect our rights, or that any such steps will be successful. We can also neither guarantee that we have taken all necessary steps to enforce our intellectual property rights in each jurisdiction in which we operate nor that the intellectual property laws of any jurisdiction in which we operate are adequate to protect our interest or that any favorable judgment obtained by us with respect thereto will be enforced in the courts. Unauthorized use by third parties of, or other failure to protect, our intellectual property, including the costs of enforcing intellectual property rights, could have a material adverse effect on our business, financial condition and results of operations.
We may face intellectual property infringement claims that could be time-consuming and costly to defend and failure to defend against such claims may have a material adverse effect on our reputation, business, financial condition and results of operations.
Our success largely depends on our ability to use and develop our technology, tools, code, methodologies and services without infringing the intellectual property rights of third parties, including patents, copyrights, trade secrets and trademarks. We may be subject to litigation involving claims of patent infringement or violation of other intellectual property rights of third parties.
Our customer contracts often require us to indemnify clients who purchase our services and solutions against potential infringement of intellectual property rights, which subjects us to the risk of indemnification claims. These claims may require us to initiate or defend protracted and costly litigation on behalf of our clients, regardless of the merits of these claims and are often not subject to liability limits or exclusion of consequential, indirect or punitive damages. If any of these claims succeed, we may be forced to pay damages on behalf of our clients, redesign or cease offering our allegedly infringing services or solutions or obtain licenses for the intellectual property such services or solutions allegedly infringe. If we cannot obtain all necessary licenses on commercially reasonable terms, our clients may be forced to stop using our services or solutions and may seek refunds of amounts they have paid us for such services or solutions.
The holders of patents and other intellectual property rights potentially relevant to our service offerings may make claims that we infringe, misappropriate, or otherwise violate their intellectual property rights. There can be no assurance that we will be successful in defending against these allegations or reaching a business resolution that is satisfactory to us. Any intellectual property claims, with or without merit, could be very time-consuming and expensive to settle or litigate, could cause us to incur significant expenses, pay substantial amounts in damages, ongoing royalty or license fees, or other payments, require us to



cease making, licensing or using our offerings that incorporate or use the challenged intellectual property, require us to re-engineer all or a portion of our business or require that we comply with other unfavorable terms. The costs of litigation are considerable, and such litigation may divert management and key personnel’s attention and resources, which might seriously harm our business, financial condition and results of operations. Third parties making infringement claims may make it difficult for us to enter into royalty or license agreements which may not be available on commercially acceptable terms. Also, we may be unaware of intellectual property registrations or applications relating to our services that may give rise to potential infringement claims against us. There may also be technologies licensed to and relied on by us that are subject to infringement or other corresponding allegations or claims by third parties which may damage our ability to rely on such technologies.
Parties making infringement claims may be able to obtain substantial damages for the infringement and an injunction to prevent us from delivering our services or using technology involving the allegedly infringing intellectual property. If, as a result of successful infringement claim, we are required to develop non-infringing technology or rebrand our name or cease making, licensing or using products that have infringed a third party’s intellectual property rights, all of which may be time-consuming and expensive. Protracted litigation could also result in existing or prospective clients deferring or limiting their purchase or use of our software product development services or solutions until resolution of such litigation or could require us to indemnify our clients against infringement claims in certain instances. Any intellectual property claims or litigation in this area, whether or not we ultimately win or lose, could damage our reputation and materially adversely affect our business, financial condition and results of operations.
Our use of open source software may lead to possible litigation, negatively affect sales and create liability.
We often incorporate software licensed by third parties under so-called “open source” licenses, which may expose us to liability and have a material impact on our software development services. Use of open source software may entail greater risks than use of third-party commercial software, as open source licensors generally do not provide support, warranties, indemnification, or other contractual protections regarding infringement claims or the quality of the code. In addition, the public availability of such software may make it easier for others to compromise our services. Although we monitor our use of open source software in an effort both to comply with the terms of the applicable open source licenses and to avoid subjecting our client deliverables to conditions we do not intend, the terms of many open source licenses have not been interpreted by courts in relevant jurisdictions, and there is a risk that these licenses could be construed in a way that could impose unanticipated conditions or restrictions on our clients’ ability to use the software that we develop for them and operate their businesses as they intend. Moreover, we cannot assure you that our processes for controlling our use of open source software in our products will be effective, and we may inadvertently use third-party open source software in a manner that exposes us to claims of non-compliance with the applicable terms of such license, including claims for infringement of intellectual property or for breach of contract. We may face claims challenging the ownership of open source software against companies that incorporate it into our products.
Additionally, some open source licenses contain requirements that we make available source code for modifications or derivative works we create based upon the type of open source software we use. If we combine certain open source software with other software in a specific manner, we could, under open source licenses, be required to release the source code of our proprietary software or software developed for a customer to the public, including authorizing further modification and redistribution, or otherwise be limited in the licensing of such software. Additionally, if a third-party software provider has incorporated open source software into software that we license from such provider, we could be required to disclose source code that incorporates or is a modification of such licensed software.
Therefore, there is a possibility that our clients could be subject to actions by third parties claiming that what we believe to be licensed open source software infringes such third parties’ intellectual property rights, and we would generally be required to indemnify our clients against such claims. In addition, in the event that portions of client deliverables are determined to be subject to an open source license requiring the release of such deliverables, we or our clients could be required to publicly release the affected portions of source code or re-engineer all, or a portion of, the applicable software. Disclosing our proprietary source code could allow our clients’ competitors to create similar products with lower development effort and time and ultimately could result in a loss of sales for our clients. Furthermore, if the license terms for the open source code change, we may be forced to re-engineer our software or incur additional costs. Any of these events could create liability for us to our clients and damage our reputation, which could have a material adverse effect on our business, financial condition and results of operations.
Risks Related to Our Common Stock
Our bylaws provide that the Court of Chancery of the State of Delaware (or, if the Court of Chancery does not have jurisdiction, another State court in Delaware or the federal district court for the District of Delaware) shall, to the fullest



extent permitted by law, be the sole and exclusive forum for substantially all disputes between us and our stockholders (other than claims arising under federal securities laws, including the Securities Act or the Exchange Act and any successors thereto), which could limit our stockholders’ ability to obtain a favorable judicial forum for disputes with us or our directors, officers or employees.
Our bylaws provide that the Court of Chancery of the State of Delaware (or, if the Court of Chancery does not have jurisdiction, another State court in Delaware or the federal district court for the District of Delaware) shall, to the fullest extent permitted by law, be the sole and exclusive forum for the following (except for any claim as to which such court determines that there is an indispensable party not subject to the jurisdiction of such court (and the indispensable party does not consent to the personal jurisdiction of such court within 10 days following such determination), which is vested in the exclusive jurisdiction of a court or forum other than such court or for which such court does not have subject matter jurisdiction):
any derivative action or proceeding brought on our behalf;
any action asserting a claim of breach of a fiduciary duty owed by, or otherwise wrongdoing by, any of our directors, officers or other employees to us or our stockholders;
any action arising pursuant to any provision of the Delaware General Corporation Law (the “DGCL”), our certificate of incorporation or bylaws;
any action to interpret, apply, enforce or determine the validity of our certificate of incorporation or bylaws; and
any other action asserting a claim that is governed by the internal affairs doctrine.
However, notwithstanding the exclusive forum provisions, our bylaws explicitly state that they would not preclude the filing of claims brought to enforce any liability or duty created under federal securities laws, including the Exchange Act or Securities Act.
Our amended and restated bylaws also provide that, unless we consent in writing to the selection of an alternative forum, the federal district courts of the United States shall be the sole and exclusive forum for any action asserting a claim arising pursuant to the Securities Act, such a provision known as a “Federal Forum Provision.” Any person or entity purchasing or otherwise acquiring any interest in our shares of capital stock shall be deemed to have notice of and consented to these provisions.
These exclusive forum provisions may limit a stockholder’s ability to bring a claim in a judicial forum that it finds favorable for disputes with us or our directors, officers or other employees, which may discourage lawsuits against us and our directors, officers and other employees. Additionally, a court could determine that the exclusive forum provision is unenforceable. If a court were to find the exclusive forum provision in our bylaws to be inapplicable or unenforceable in an action, we may incur additional costs associated with resolving the dispute in other jurisdictions, which could seriously harm our business.
The price of our common stock may be volatile.
The price of our common stock may fluctuate due to a variety of factors, including:
our ability to effectively service any current and future outstanding debt obligations;
the announcement the introduction of new products or services, or enhancements thereto, by us or our competitors;
developments concerning intellectual property rights;
changes in legal, regulatory and enforcement frameworks impacting our products;
variations in our and our competitors’ results of operations;
the addition or departure of key personnel;
announcements by us or our competitors of acquisitions, investments or strategic alliances;
actual or perceived data security incidents or breaches;
actual or anticipated fluctuations in our quarterly and annual results and those of other public companies in our industry;
the failure of securities analysts to publish research about us, or shortfalls in our results of operations compared to levels forecast by securities analysts;
any delisting of our common stock from NASDAQ due to any failure to meet listing requirements;



the military action launched by Russian forces in Ukraine, the actions that have been and could be taken by other countries, including new and stricter sanctions and actions taken in response to such sanctions, and the effect of these developments on our business and results of operations;
adverse developments from litigation; and
the general state of the securities market, including valuation adjustments and lowering multiples.
These market and industry factors may materially reduce the market price of our common stock, regardless of our operating performance.
As of March 31, 2024, approximately 26.1 percent of our outstanding common stock was held or beneficially owned by our executive officers and directors, or by stockholders controlled by our executive officers or directors. The concentration of ownership provides such persons with substantial control over us, which could limit your ability to influence the outcome of key transactions, including a change of control, and future resales of our common stock held by such persons may cause the market price of our common stock to drop significantly.
As a result, such stockholders, acting together, have significant influence over all matters that require approval by our stockholders, including the election of directors and approval of significant corporate transactions. Corporate action might be taken even if other stockholders oppose them. This concentration of ownership might also have the effect of delaying or preventing a change of control of our company that other stockholders may view as beneficial.
To the extent that such persons purchase additional shares of ours, the percentage of shares that will be held by them will increase, decreasing the percentage of shares that are held by public stockholders.
If any significant stockholder sells large amounts of our common stock in the open market or in privately negotiated transactions, this could have the effect of increasing the volatility in the price of our common stock or putting significant downward pressure on the price of our common stock.
We do not currently intend to pay dividends on our common stock and, consequently, your ability to achieve a return on your investment will depend on appreciation in the price of our common stock.
We have not paid any cash dividends on our common stock since our merger with ChaSerg. The payment of any cash dividends will be dependent upon our revenue, earnings and financial condition from time to time. The payment of any dividends will be within the discretion of our board of directors. It is presently expected that we will retain all earnings for use in our business operations and, accordingly, it is not expected that our board of directors will declare any dividends in the foreseeable future. Our ability to declare dividends may be limited by the terms of any financing and/or other agreements entered into by us or our subsidiaries from time to time and by requirements under the laws of our subsidiaries’ respective jurisdictions of incorporation to set aside a portion of their net income in each year to legal reserves. Therefore, you are not likely to receive any dividends on your common stock for the foreseeable future and the success of an investment in shares of our common stock will depend upon any future appreciation in its value. Consequently, investors may need to sell all or part of their holdings of our common stock after price appreciation, which may never occur, as the only way to realize any future gains on their investment. There is no guarantee that shares of our common stock will appreciate in value or even maintain the price at which our stockholders have purchased their shares.
Delaware law and our certificate of incorporation and bylaws contain certain provisions, including anti-takeover provisions, that limit the ability of stockholders to take certain actions and could delay or discourage takeover attempts that stockholders may consider favorable.
Our certificate of incorporation and bylaws, and the DGCL, contain provisions that could have the effect of rendering more difficult, delaying, or preventing an acquisition deemed undesirable by our board of directors and therefore depress the trading price of our common stock. These provisions could also make it difficult for stockholders to take certain actions, including electing directors who are not nominated by the current members of our board of directors or taking other corporate actions, including effecting changes in our management. Among other things, our certificate of incorporation and bylaws include provisions regarding:
a classified board of directors with three-year staggered terms, which could delay the ability of stockholders to change the membership of a majority of our board of directors;



the ability of our board of directors to issue shares of preferred stock, including “blank check” preferred stock, and to determine the price and other terms of those shares, including preferences and voting rights, without stockholder approval, which could be used to significantly dilute the ownership of a hostile acquirer;
the limitation of the liability of, and the indemnification of our directors and officers;
the exclusive right of our board of directors to elect a director to fill a vacancy created by the expansion of the board of directors or the resignation, death or removal of a director, which prevents stockholders from being able to fill vacancies on our board of directors;
the requirement that directors may only be removed from our board of directors for cause;
a prohibition on stockholder action by written consent, which forces stockholder action to be taken at an annual or special meeting of stockholders and could delay the ability of stockholders to force consideration of a stockholder proposal or to take action, including the removal of directors;
the requirement that a special meeting of stockholders may be called only by our board of directors, the chairman of our board of directors, or our chief executive officer, which could delay the ability of stockholders to force consideration of a proposal or to take action, including the removal of directors;
controlling the procedures for the conduct and scheduling of board of directors and stockholder meetings;
the requirement for the affirmative vote of holders of at least a majority of the voting power of all of the then outstanding shares of the voting stock, voting together as a single class, to amend, alter, change or repeal any provision of our certificate of incorporation or our bylaws, which could preclude stockholders from bringing matters before annual or special meetings of stockholders and delay changes in our board of directors and also may inhibit the ability of an acquirer to effect such amendments to facilitate an unsolicited takeover attempt;
the ability of our board of directors to amend the bylaws, which may allow our board of directors to take additional actions to prevent an unsolicited takeover and inhibit the ability of an acquirer to amend the bylaws to facilitate an unsolicited takeover attempt; and
advance notice procedures with which stockholders must comply to nominate candidates to our board of directors or to propose matters to be acted upon at a stockholders’ meeting, which could preclude stockholders from bringing matters before annual or special meetings of stockholders and delay changes in our board of directors and also may discourage or deter a potential acquirer from conducting a solicitation of proxies to elect the acquirer’s own slate of directors or otherwise attempting to obtain control of our company.
These provisions, alone or together, could delay or prevent hostile takeovers and changes in control or changes in our board of directors or management.
In addition, as a Delaware corporation, we are subject to provisions of Delaware law, including Section 203 of the DGCL, which may prohibit certain stockholders holding 15% or more of our outstanding capital stock from engaging in certain business combinations with us for a specified period of time.
Any provision of our certificate of incorporation, bylaws or Delaware law that has the effect of delaying or preventing a change in control could limit the opportunity for our stockholders to receive a premium for their shares of our capital stock and could also affect the price that some investors are willing to pay for our common stock.
Item 2. Unregistered Sales of Equity Securities and Use of Proceeds.
None.
Purchases of Equity Securities
None.



Item 3. Default Upon Senior Securities
None.
Item 4. Mine Safety Disclosures
None.
Item 5. Other Information
No director or officer, as defined in Rule 16a-1(f), adopted or terminated a “Rule 10b5-1 trading arrangement” or a “non-Rule 10b5-1 trading arrangement,” as defined in Regulation S-K Item 408, during the three months ended March 31, 2024.
Item 6. Exhibits.
The exhibits listed in the accompanying Exhibit Index are filed or incorporated by reference as part of this Quarterly Report on Form 10-Q.
EXHIBIT INDEX
Exhibit Number
Description
Incorporated by Reference From FormIncorporated by Reference From Exhibit NumberDate Filed
31.1Filed herewith
31.2Filed herewith
32.1*Furnished herewith
32.2*Furnished herewith
101.INSXBRL Instance Document - the instance document does not appear in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document.Filed herewith
101.SCHXBRL Taxonomy Extension Schema DocumentFiled herewith
101.CALXBRL Taxonomy Extension Calculation Linkbase DocumentFiled herewith
101.DEFXBRL Taxonomy Extension Definition Linkbase DocumentFiled herewith
101.LAB
XBRL Taxonomy Extension Label Linkbase DocumentFiled herewith
101.PREXBRL Taxonomy Extension Presentation Linkbase DocumentFiled herewith
104Cover Page Interactive Data File the cover page interactive data is embedded within the Inline XBRL document or included within the Exhibit 101 attachmentsFiled herewith
*    The certifications furnished in Exhibits 32.1 and 32.2 hereto are deemed to accompany this Quarterly Report on Form 10-Q and will not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended. Such certifications will not be deemed to be incorporated by reference into any filings under the Securities Act of 1933, as amended, or the Securities Exchange Act of 1934, as amended, except to the extent that the registrant specifically incorporates it by reference.



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.
Grid Dynamics Holdings, Inc.
Date: May 2, 2024By:/s/ Leonard Livschitz
Leonard Livschitz
Chief Executive Officer and Director
(Principal Executive Officer)
Date: May 2, 2024By:/s/ Anil Doradla
Anil Doradla
Chief Financial Officer
(Principal Financial and Accounting Officer)


EX-31.1 2 gdyn-20240331xex311.htm EX-31.1 Document

Exhibit 31.1
CERTIFICATION OF PRINCIPAL EXECUTIVE OFFICER
PURSUANT TO
SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Leonard Livschitz, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Grid Dynamics Holdings, 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: May 2, 2024By:/s/ Leonard Livschitz
Name:Leonard Livschitz
Title:Chief Executive Officer and Director
(Principal Executive Officer)


EX-31.2 3 gdyn-20240331xex312.htm EX-31.2 Document

Exhibit 31.2
CERTIFICATION OF PRINCIPAL FINANCIAL OFFICER
PURSUANT TO
SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002
I, Anil Doradla, certify that:
1.I have reviewed this quarterly report on Form 10-Q of Grid Dynamics Holdings, 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: May 2, 2024By:/s/ Anil Doradla
Name:Anil Doradla
Title:Chief Financial Officer
(Principal Financial and Accounting Officer)


EX-32.1 4 gdyn-20240331xex321.htm EX-32.1 Document

Exhibit 32.1
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
I, Leonard Livschitz, Chief Executive Officer of Grid Dynamics Holdings, Inc. (the “Company”), certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:
(1)The quarterly report on Form 10-Q for the Company for the quarter ended March 31, 2024 (the “Report”) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date: May 2, 2024By:/s/ Leonard Livschitz
Name:Leonard Livschitz
Title:Chief Executive Officer and Director
(Principal Executive Officer)


EX-32.2 5 gdyn-20240331xex322.htm EX-32.2 Document

Exhibit 32.2
CERTIFICATION PURSUANT TO
18 U.S.C. SECTION 1350,
AS ADOPTED PURSUANT TO
SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002
I, Anil Doradla, Chief Financial Officer of Grid Dynamics Holdings, Inc. (the “Company”), certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to my knowledge:
(1)The quarterly report on Form 10-Q for the Company for the quarter ended March 31, 2024 (the “Report”) fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and
(2)The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.
Date: May 2, 2024By:/s/ Anil Doradla
Name:Anil Doradla
Title:Chief Financial Officer
(Principal Financial and Accounting Officer)


EX-101.SCH 6 gdyn-20240331.xsd XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT 0000001 - Document - Cover Page link:presentationLink link:calculationLink link:definitionLink 0000002 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 0000003 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 0000004 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS link:presentationLink link:calculationLink link:definitionLink 0000005 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS’ EQUITY link:presentationLink link:calculationLink link:definitionLink 0000006 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 0000007 - Disclosure - Nature of operations and summary of significant accounting policies link:presentationLink link:calculationLink link:definitionLink 0000008 - Disclosure - Acquisitions link:presentationLink link:calculationLink link:definitionLink 0000009 - Disclosure - Fair value link:presentationLink link:calculationLink link:definitionLink 0000010 - Disclosure - Property and equipment, net link:presentationLink link:calculationLink link:definitionLink 0000011 - Disclosure - Intangible assets, net link:presentationLink link:calculationLink link:definitionLink 0000012 - Disclosure - Accrued expenses and other current liabilities link:presentationLink link:calculationLink link:definitionLink 0000013 - Disclosure - Debt link:presentationLink link:calculationLink link:definitionLink 0000014 - Disclosure - Revenues link:presentationLink link:calculationLink link:definitionLink 0000015 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 0000016 - Disclosure - Income taxes link:presentationLink link:calculationLink link:definitionLink 0000017 - Disclosure - Stock-based compensation link:presentationLink link:calculationLink link:definitionLink 0000018 - Disclosure - Earnings per share link:presentationLink link:calculationLink link:definitionLink 0000019 - Disclosure - Segment and geographic information link:presentationLink link:calculationLink link:definitionLink 0000020 - Disclosure - Commitments and contingencies link:presentationLink link:calculationLink link:definitionLink 0000021 - Disclosure - Subsequent events link:presentationLink link:calculationLink link:definitionLink 9954471 - Disclosure - Nature of operations and summary of significant accounting policies (Policies) link:presentationLink link:calculationLink link:definitionLink 9954472 - Disclosure - Fair Value Measures and Disclosures (Policies) link:presentationLink link:calculationLink link:definitionLink 9954473 - Disclosure - Nature of operations and summary of significant accounting policies (Tables) link:presentationLink link:calculationLink link:definitionLink 9954474 - Disclosure - Acquisitions (Tables) link:presentationLink link:calculationLink link:definitionLink 9954475 - Disclosure - Fair value (Tables) link:presentationLink link:calculationLink link:definitionLink 9954476 - Disclosure - Property and equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954477 - Disclosure - Intangible assets, net (Tables) link:presentationLink link:calculationLink link:definitionLink 9954478 - Disclosure - Accrued expenses and other current liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 9954479 - Disclosure - Revenues (Tables) link:presentationLink link:calculationLink link:definitionLink 9954480 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 9954481 - Disclosure - Stock-based compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 9954482 - Disclosure - Earnings per share (Tables) link:presentationLink link:calculationLink link:definitionLink 9954483 - Disclosure - Segment and geographic information (Tables) link:presentationLink link:calculationLink link:definitionLink 9954484 - Disclosure - Nature of operations and summary of significant accounting policies - Allowance (Details) link:presentationLink link:calculationLink link:definitionLink 9954485 - Disclosure - Nature of operations and summary of significant accounting policies - Stock-based compensation (Details) link:presentationLink link:calculationLink link:definitionLink 9954486 - Disclosure - Nature of operations and summary of significant accounting policies - Prior period reclassifications (Details) link:presentationLink link:calculationLink link:definitionLink 9954487 - Disclosure - Acquisitions - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954488 - Disclosure - Acquisitions - Assets acquired and liabilities assumed (Details) link:presentationLink link:calculationLink link:definitionLink 9954489 - Disclosure - Acquisitions - Intangible assets acquired (Details) link:presentationLink link:calculationLink link:definitionLink 9954490 - Disclosure - Fair value - Schedule of Fair Value Information for Financial Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954491 - Disclosure - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 9954492 - Disclosure - Intangible assets, net - Summary of Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 9954493 - Disclosure - Intangible assets, net - Future Amortization Expenses (Detail) link:presentationLink link:calculationLink link:definitionLink 9954494 - Disclosure - Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 9954495 - Disclosure - Accrued expenses and other current liabilities - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954496 - Disclosure - Debt - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954497 - Disclosure - Revenues - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954498 - Disclosure - Revenues - Disaggregation of Revenue (Details) link:presentationLink link:calculationLink link:definitionLink 9954499 - Disclosure - Revenues - Contract Balances (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Revenues - Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954500 - Disclosure - Revenues - Remaining Performance Obligations (Details) link:presentationLink link:calculationLink link:definitionLink 9954501 - Disclosure - Revenues - Concentration Risk (Details) link:presentationLink link:calculationLink link:definitionLink 9954502 - Disclosure - Revenues - Related Parties (Details) link:presentationLink link:calculationLink link:definitionLink 9954503 - Disclosure - Leases - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954504 - Disclosure - Leases - Lease Cost (Details) link:presentationLink link:calculationLink link:definitionLink 9954505 - Disclosure - Leases - Schedule of Supplemental Lease Information (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Leases - Operating Lease Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 9954506 - Disclosure - Leases - Operating Lease Maturities (Details) link:presentationLink link:calculationLink link:definitionLink 9954507 - Disclosure - Income taxes (Details) link:presentationLink link:calculationLink link:definitionLink 9954508 - Disclosure - Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) link:presentationLink link:calculationLink link:definitionLink 9954509 - Disclosure - Stock-based compensation - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954510 - Disclosure - Stock-based compensation - Schedule of option activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954511 - Disclosure - Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details) link:presentationLink link:calculationLink link:definitionLink 9954512 - Disclosure - Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954513 - Disclosure - Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 9954514 - Disclosure - Segment and geographic information - Narrative (Details) link:presentationLink link:calculationLink link:definitionLink 9954515 - Disclosure - Segment and geographic information - Schedule of revenues by customer location (Details) link:presentationLink link:calculationLink link:definitionLink 9954516 - Disclosure - Segment and geographic information - Schedule of long-lived assets by physical location (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 gdyn-20240331_cal.xml XBRL TAXONOMY EXTENSION CALCULATION LINKBASE DOCUMENT EX-101.DEF 8 gdyn-20240331_def.xml XBRL TAXONOMY EXTENSION DEFINITION LINKBASE DOCUMENT EX-101.LAB 9 gdyn-20240331_lab.xml XBRL TAXONOMY EXTENSION LABEL LINKBASE DOCUMENT Reclassification [Line Items] Reclassification [Line Items] Adjustments to reconcile net loss to net cash provided by operating activities: Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract] Prepaid income taxes Prepaid Taxes Statistical Measurement [Domain] Statistical Measurement [Domain] Schedule of Lease Cost and Supplemental Lease Information Lease, Cost [Table Text Block] Cover [Abstract] Fixed-fee Fixed-Price Contract [Member] Net increase/(decrease) in cash and cash equivalents Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Schedule of Operating Lease Maturities Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block] Mutual Mobile Mutual Mobile Inc. [Member] Mutual Mobile Inc. Percentage of voting interests acquired Business Acquisition, Percentage of Voting Interests Acquired Trading Symbol Trading Symbol All Trading Arrangements All Trading Arrangements [Member] Compensation Actually Paid vs. Net Income Compensation Actually Paid vs. Net Income [Text Block] Non-NEOs Non-NEOs [Member] Schedule of Computation of Basic and Diluted Earnings Per Share Schedule of Earnings Per Share, Basic and Diluted [Table Text Block] Rule 10b5-1 Arrangement Adopted Rule 10b5-1 Arrangement Adopted [Flag] Awards Close in Time to MNPI Disclosures Awards Close in Time to MNPI Disclosures [Table] Allowance for doubtful accounts Accounts Receivable, Allowance for Credit Loss, Current Unbilled receivable Unbilled Receivables [Member] Unbilled Receivables Adjustment to goodwill Goodwill, Measurement Period Adjustment Pay vs Performance Disclosure [Line Items] Line of Credit Facility [Table] Line of Credit Facility [Table] Peer Group Total Shareholder Return Amount Peer Group Total Shareholder Return Amount Cash Equivalents Cash Equivalents [Member] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis] Accounts receivable Increase (Decrease) in Accounts Receivable Operating lease liabilities Increase (Decrease) in Operating Lease Liability Non-Rule 10b5-1 Arrangement Adopted Non-Rule 10b5-1 Arrangement Adopted [Flag] Fair value Fair Value Disclosures [Text Block] Proceeds from exercises of stock options Proceeds from Stock Options Exercised Award Timing Disclosures [Line Items] Performance factor percentage Share-based Compensation Arrangement by Share-based Payment Award, Performance Factor Share-based Compensation Arrangement by Share-based Payment Award, Performance Factor Other Performance Measure, Amount Other Performance Measure, Amount 2026 Finite-Lived Intangible Asset, Expected Amortization, Year Three Finance Financial Service [Member] Portion at Fair Value Measurement Portion at Fair Value Measurement [Member] Leases Lessee, Operating Leases [Text Block] Common stock, shares outstanding (in shares) Common Stock, Shares, Outstanding Operating lease cost Operating Lease, Cost Value added tax payable Sales and Excise Tax Payable, Current Performance achievement adjustment (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Factor Adjustment, Weighted Average Grant Date Fair Value The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which performance achievement factor was adjusted during the reporting period Remaining shares available for grant (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant Operating lease liabilities, noncurrent Operating Lease, Liability, Noncurrent Other Product and Service, Other [Member] Revenue from Contract with Customer [Abstract] Plan Name [Domain] Plan Name [Domain] United States UNITED STATES Other noncurrent assets Other Assets, Noncurrent Entity Tax Identification Number Entity Tax Identification Number Leases [Abstract] Intangible assets, gross Finite-Lived Intangible Assets, Gross Schedule of Finite-Lived Intangible Assets [Table] Intangible Asset, Finite-Lived [Table] Antidilutive Securities, Name [Domain] Antidilutive Securities, Name [Domain] Money market funds Money Market Funds [Member] Net cash provided by operating activities Net Cash Provided by (Used in) Operating Activities Cash flows from operating activities Net Cash Provided by (Used in) Operating Activities [Abstract] Plan Name [Axis] Plan Name [Axis] Equity Components [Axis] Equity Components [Axis] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] Award Timing Method Award Timing Method [Text Block] Trading Arrangements, by Individual Trading Arrangements, by Individual [Table] Options vested and exercisable (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price Allowance for credit losses Accounts Receivable [Policy Text Block] Trade name Trade Names [Member] Entity Common Stock, Shares Outstanding Entity Common Stock, Shares Outstanding Insider Trading Policies and Procedures [Line Items] Use of estimates Use of Estimates, Policy [Policy Text Block] Ukraine UKRAINE Business Acquisition, Acquiree [Domain] Business Acquisition, Acquiree [Domain] Adjustment to Compensation, Amount Adjustment to Compensation Amount Options outstanding, aggregate intrinsic value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value Payables and Accruals [Abstract] Payables and Accruals [Abstract] Compensation Amount Outstanding Recovery Compensation Amount Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member] Customer deposits Contract with Customer, Refund Liability, Current Entity Small Business Entity Small Business Company Selected Measure Amount Company Selected Measure Amount Geographical [Axis] Geographical [Axis] Tabular List, Table Tabular List [Table Text Block] Thereafter Lessee, Operating Lease, Liability, to be Paid, Year Five Level 3 Fair Value, Inputs, Level 3 [Member] Share-based Compensation Arrangement by Share-based Payment Award [Line Items] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Award Date [Axis] Award Date [Axis] Sales and marketing Selling and Marketing Expense [Member] Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member] Short-term investments Other Short-Term Investments, Fair Value Disclosure Fair value portion of investments other than investments in equity, including, but not limited to, bank time deposits. Lessee, Lease, Description [Line Items] Lessee, Lease, Description [Line Items] Accrued expenses Accrued Liabilities, Current Other noncurrent assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets Antidilutive securities excluded from computation of earnings per share (in shares) Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount Credit Facility [Domain] Credit Facility [Domain] Cash and cash equivalents, beginning of period Cash and cash equivalents, end of period Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents Current assets Assets, Current [Abstract] Goodwill Goodwill Performance achievement adjustment, period performance factor Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Performance Factor Adjustment, Period Performance Factor Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Performance Factor Adjustment, Period Performance Factor Payments of tax obligations resulted from net share settlement of vested stock awards Payment, Tax Withholding, Share-Based Payment Arrangement Forgone Recovery due to Disqualification of Tax Benefits, Amount Forgone Recovery due to Disqualification of Tax Benefits, Amount Product and Service [Domain] Product and Service [Domain] Stock options Stock options to purchase common stock Employee Stock Option [Member] Short-term lease cost Short-Term Lease, Cost Vested and released (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value Fair Value Disclosures [Abstract] 2025 Lessee, Operating Lease, Liability, to be Paid, Year One Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table] Antidilutive Security, Excluded EPS Calculation [Table] Comprehensive loss Comprehensive Income (Loss), Net of Tax, Attributable to Parent Accrued income taxes Accrued Income Taxes, Current Security Exchange Name Security Exchange Name Basis spread on variable rate Debt Instrument, Basis Spread on Variable Rate Award Type [Axis] Award Type [Axis] Options exercised (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price Number of Shares Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward] Property and equipment, net Property and equipment, net Property, Plant and Equipment, Net Total liabilities Liabilities Long-Lived Assets Long-Lived Assets Common stock, par value (in dollars per share) Common Stock, Par or Stated Value Per Share Forgone Recovery, Explanation of Impracticability Forgone Recovery, Explanation of Impracticability [Text Block] Operating lease commitments Other Commitment Engineering, research, and development Research and Development Expense Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table] Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Revolving Credit Facility Revolving Credit Facility [Member] Expiration Date Trading Arrangement Expiration Date Cash flows from investing activities Net Cash Provided by (Used in) Investing Activities [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Goodwill and Intangible Assets Disclosure [Abstract] Operating lease liabilities, current Operating Lease, Liability, Current Total Shareholder Return Amount Total Shareholder Return Amount Common stock, shares issued (in shares) Common Stock, Shares, Issued Equity Awards Adjustments, Footnote Equity Awards Adjustments, Footnote [Text Block] Concentration risk percentage Concentration Risk, Percentage Line of credit, maximum borrowing capacity Line of Credit Facility, Maximum Borrowing Capacity Computers and equipment Computer Equipment [Member] Insider Trading Policies and Procedures Adopted Insider Trading Policies and Procedures Adopted [Flag] Less: Accumulated depreciation and amortization Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Property and equipment, gross Property, Plant and Equipment, Gross Exercise of stock options (in shares) Options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period Named Executive Officers, Footnote Named Executive Officers, Footnote [Text Block] Weighted Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract] Engineering, research, and development Research and Development Expense [Member] Europe Europe [Member] Common stock, shares authorized (in shares) Common Stock, Shares Authorized Machinery and automobiles Automobiles [Member] Basis of presentation Basis of Accounting, Policy [Policy Text Block] Diluted (in shares) Weighted average number of shares outstanding - diluted (in shares) Weighted Average Number of Shares Outstanding, Diluted Contract with Customer, Basis of Pricing [Axis] Contract with Customer, Basis of Pricing [Axis] MNPI Disclosure Timed for Compensation Value MNPI Disclosure Timed for Compensation Value [Flag] Prepaid income taxes Increase (Decrease) in Prepaid Taxes Total stockholders’ equity Beginning balance Ending balance Equity, Attributable to Parent Related Party Related Party [Member] Property and equipment, net Property, Plant and Equipment Disclosure [Text Block] Software Software and Software Development Costs [Member] Concentration Risk Type [Domain] Concentration Risk Type [Domain] Accounts receivable, net of allowance of $1,389 and $1,363 as of March 31, 2024 and December 31, 2023, respectively Accounts receivable Accounts Receivable, after Allowance for Credit Loss, Current Options granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross Cost of revenue Cost of Sales [Member] Revenues from External Customers and Long-Lived Assets [Line Items] Revenues from External Customers and Long-Lived Assets [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items] Pension Adjustments Prior Service Cost Pension Adjustments Prior Service Cost [Member] Fair Value Measurements, Recurring and Nonrecurring Fair Value Measurements, Recurring and Nonrecurring [Table Text Block] Document Fiscal Period Focus Document Fiscal Period Focus All Executive Categories All Executive Categories [Member] Equity securities Equity Securities [Member] 2025 Finite-Lived Intangible Asset, Expected Amortization, Year Two Changed Peer Group, Footnote Changed Peer Group, Footnote [Text Block] Options outstanding, weighted average contractual term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term Assets Assets [Abstract] Document Type Document Type Customer 1 Customer One [Member] Customer One Pension Benefits Adjustments, Footnote Pension Benefits Adjustments, Footnote [Text Block] Total Shareholder Return Vs Peer Group Total Shareholder Return Vs Peer Group [Text Block] Acquired software Computer Software, Intangible Asset [Member] Vested and released (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period Schedule of Estimated amortization expense Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block] Maximum Maximum [Member] Contract liabilities Contract with Customer, Liability Equity Valuation Assumption Difference, Footnote Equity Valuation Assumption Difference, Footnote [Text Block] Furniture and fixtures Furniture and Fixtures [Member] Intangible assets, net Intangible assets, net Finite-Lived Intangible Assets, Net Antidilutive Securities [Axis] Antidilutive Securities [Axis] Accounts payable Accounts Payable, Current Accounting Policies [Abstract] Accounting Policies [Abstract] Leasehold improvements Leasehold Improvements [Member] Options expired (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price Acquisitions Business Combination Disclosure [Text Block] Current Fiscal Year End Date Current Fiscal Year End Date Less: imputed interest Lessee, Operating Lease, Liability, Undiscounted Excess Amount Total lease cost Lease, Cost Statistical Measurement [Axis] Statistical Measurement [Axis] PEO Name PEO Name Non-Rule 10b5-1 Arrangement Terminated Non-Rule 10b5-1 Arrangement Terminated [Flag] Loss before income taxes Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Non-PEO NEO Average Total Compensation Amount Non-PEO NEO Average Total Compensation Amount Award Type [Domain] Award Type [Domain] Name Outstanding Recovery, Individual Name Cash and cash equivalents Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents Disaggregation of Revenue [Line Items] Disaggregation of Revenue [Line Items] Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block] Compensation Actually Paid vs. Company Selected Measure Compensation Actually Paid vs. Company Selected Measure [Text Block] Purchase price allocation Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net Revision of Prior Period [Axis] Revision of Prior Period [Axis] Deferred tax assets Deferred Income Tax Assets, Net Non-PEO NEO Non-PEO NEO [Member] Useful Life Estimated Useful Life Finite-Lived Intangible Asset, Useful Life Accrued expenses and other current liabilities Total accrued expenses and other current liabilities Accrued Liabilities and Other Liabilities Additional paid-in capital Additional Paid-in Capital [Member] Award Timing Predetermined Award Timing Predetermined [Flag] Unbilled receivables Increase (Decrease) in Contract with Customer, Asset Deferred taxes Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities Customer relationships Customer Relationships [Member] Recently adopted accounting pronouncements and recently issued accounting pronouncements New Accounting Pronouncements, Policy [Policy Text Block] Unbilled receivables Unbilled Receivables, Current Diluted (in dollars per share) Earnings Per Share, Diluted Finite-Lived Intangible Assets by Major Class [Axis] Finite-Lived Intangible Assets by Major Class [Axis] Less: Accumulated amortization Finite-Lived Intangible Assets, Accumulated Amortization Operating lease right-of-use assets amortization expense Operating Lease, Right-of-Use Asset, Periodic Reduction Name Measure Name Entity Interactive Data Current Entity Interactive Data Current Restatement does not require Recovery Restatement Does Not Require Recovery [Text Block] Options vested and exercisable, weighted average contractual term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term Variable lease cost Variable Lease, Cost (Reversal) Variable Lease, Cost (Reversal) Number of reportable segments Number of Operating Segments Number of Operating Segments Cash paid for income taxes Income Taxes Paid Customer [Axis] Customer [Axis] Disaggregation of Revenue [Table] Disaggregation of Revenue [Table] Statement of Financial Position [Abstract] Statement of Financial Position [Abstract] Stock-based compensation Share-Based Payment Arrangement, Noncash Expense Technology, Media and Telecom Technology, Media, And Telecom [Member] Technology, Media, And Telecom Sales and marketing Selling and Marketing Expense Provision for income taxes Income tax expense (benefit) Income Tax Expense (Benefit) Supplemental disclosure of cash flow information: Supplemental Cash Flow Information [Abstract] Period for recognition Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition Revenues Total Revenues Revenue from Contract with Customer, Excluding Assessed Tax Concentration Risk Benchmark [Domain] Concentration Risk Benchmark [Domain] Effective tax rate, percentage Effective Income Tax Rate Reconciliation, Percent Net cash used in investing activities Net Cash Provided by (Used in) Investing Activities Loss from operations Operating Income (Loss) Variable Rate [Domain] Variable Rate [Domain] Business Acquisition [Line Items] Business Acquisition [Line Items] Non-cash net change in lease assets due to lease modifications Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset Number of Reportable Segments Number of Reportable Segments Total liabilities and stockholders’ equity Liabilities and Equity Subsequent events Subsequent Events [Text Block] Rule 10b5-1 Arrangement Terminated Rule 10b5-1 Arrangement Terminated [Flag] All Adjustments to Compensation All Adjustments to Compensation [Member] Fair Value Hierarchy and NAV [Axis] Fair Value Hierarchy and NAV [Axis] Accrued compensation and benefits Employee-related Liabilities, Current Prepaid expenses and other current assets Increase (Decrease) in Prepaid Expense and Other Assets Additional paid-in capital Additional Paid in Capital Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Disclosure [Abstract] Finite-Lived Intangible Assets, Major Class Name [Domain] Finite-Lived Intangible Assets, Major Class Name [Domain] Year 2024 Year 2024 [Member] Year 2024 Lease assets obtained in exchange for liabilities Right-of-Use Asset Obtained in Exchange for Operating Lease Liability Underlying Security Market Price Change Underlying Security Market Price Change, Percent Individual: Individual [Axis] Accumulated other comprehensive income/(loss) AOCI Attributable to Parent [Member] Options forfeited (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price Expected timing of satisfaction of remaining performance obligation Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period Product and Service [Axis] Product and Service [Axis] Entity Address, State or Province Entity Address, State or Province Property, Plant and Equipment [Line Items] Property, Plant and Equipment [Line Items] Statement [Line Items] Statement [Line Items] 2018 Plan 2018 Stock Plan [Member] Erroneous Compensation Analysis Erroneous Compensation Analysis [Text Block] Operating expenses Operating Expenses [Abstract] Schedule of property and equipment Property, Plant and Equipment [Table Text Block] Compensation Actually Paid vs. Total Shareholder Return Compensation Actually Paid vs. Total Shareholder Return [Text Block] Consideration transferred Business Combination, Consideration Transferred Outstanding, beginning balance (in dollars per share) Outstanding, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value Liabilities and equity Liabilities and Equity [Abstract] Other Other Countries Not Separately Disclosed [Member] Other Countries Not Separately Disclosed 2020 Plan 2020 Equity Incentive Plan [Member] 2020 Equity Incentive Plan Capitalized software development costs Software Development [Member] Schedule of business acquisition, finite-lived intangibles Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block] Minimum Minimum [Member] Restatement Determination Date Restatement Determination Date Estimate of Fair Value Measurement Estimate of Fair Value Measurement [Member] Reclassification [Table] Reclassification [Table] Adoption Date Trading Arrangement Adoption Date Pay vs Performance Disclosure Pay vs Performance Disclosure [Table] United Kingdom UNITED KINGDOM Property, Plant and Equipment [Table] Property, Plant and Equipment [Table] Options outstanding, beginning balance (in dollars per share) Option outstanding, ending balance (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Operating lease right-of-use assets, net Operating Lease, Right-of-Use Asset Erroneously Awarded Compensation Recovery Erroneously Awarded Compensation Recovery [Table] Options outstanding, beginning balance (in shares) Options outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Original purchase price adjustment Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred Bad debt expense Accounts Receivable, Credit Loss Expense (Reversal) Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member] Property, Plant and Equipment [Abstract] Property, Plant and Equipment [Abstract] Exercise Price Award Exercise Price Earnings per share Earnings Per Share [Text Block] Accrued compensation and benefits Increase (Decrease) in Employee Related Liabilities Arrangement Duration Trading Arrangement Duration Contract assets Contract with Customer, Asset, before Allowance for Credit Loss Exercise of stock options Stock Issued During Period, Value, Stock Options Exercised Stockholders’ equity Equity, Attributable to Parent [Abstract] Granted (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value Peer Group Issuers, Footnote Peer Group Issuers, Footnote [Text Block] Material Terms of Trading Arrangement Material Terms of Trading Arrangement [Text Block] 2027 Finite-Lived Intangible Asset, Expected Amortization, Year Four All Individuals All Individuals [Member] Tradenames Trademarks and Trade Names [Member] PEO PEO [Member] Variable Rate [Axis] Variable Rate [Axis] Income Tax Disclosure [Abstract] Income Tax Disclosure [Abstract] Name Trading Arrangement, Individual Name Other income/(expense), net Other Nonoperating Income (Expense) Statement of Stockholders' Equity [Abstract] Statement of Stockholders' Equity [Abstract] Long-Lived Tangible Asset [Axis] Long-Lived Tangible Asset [Axis] Operating lease, remaining term Lessee, Operating Lease, Remaining Lease Term Unrecognized compensation expense, excluding options Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount Options vested and exercisable (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number Schedules of Concentration of Risk, by Risk Factor Schedules of Concentration of Risk, by Risk Factor [Table Text Block] Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract] Awards Close in Time to MNPI Disclosures, Table Awards Close in Time to MNPI Disclosures [Table Text Block] Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table] Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table] Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member] Related Party [Domain] Related and Nonrelated Parties [Domain] Beginning balance (in shares) Ending balance (in shares) Shares, Outstanding Cash equivalents Cash and Cash Equivalents, Fair Value Disclosure Aggregate Erroneous Compensation Amount Aggregate Erroneous Compensation Amount Local Phone Number Local Phone Number Aggregate Erroneous Compensation Not Yet Determined Aggregate Erroneous Compensation Not Yet Determined [Text Block] Total liabilities assumed Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities Total operating expenses Operating Expenses Deferred tax liabilities Deferred Income Tax Liabilities, Net Schedule of restricted stock unit activity Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block] Aggregate Intrinsic Value and Weighted Average Contractual Term (in years) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract] Requisite service period Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period Changes in assets and liabilities: Increase (Decrease) in Operating Capital [Abstract] PEO Total Compensation Amount PEO Total Compensation Amount Intangible assets Fair Value Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles Schedule of Reclassifications Schedule of Reclassifications [Table Text Block] Schedule of Reclassifications Long-Lived Tangible Asset [Domain] Long-Lived Tangible Asset [Domain] Income Statement Location [Axis] Statement of Income Location, Balance [Axis] Schedule of long-lived assets, net of accumulated depreciation and amortization Long-Lived Assets by Geographic Areas [Table Text Block] Commitments and contingencies Commitments and Contingencies Disclosure [Text Block] Thereafter Finite-Lived Intangible Asset, Expected Amortization, after Year Five Debt Disclosure [Abstract] Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards Restricted Stock, Value, Shares Issued Net of Tax Withholdings Common Stock Common Stock [Member] Measure: Measure [Axis] Asset Class [Domain] Asset Class [Domain] Non-compete agreements Noncompete Agreements [Member] Other Other Geographic Regions Not Individually Disclosed [Member] Other Geographic Regions Not Individually Disclosed Forgone Recovery due to Expense of Enforcement, Amount Forgone Recovery due to Expense of Enforcement, Amount Schedule of Business Acquisitions, by Acquisition [Table] Schedule of Business Acquisitions, by Acquisition [Table] Entity Emerging Growth Company Entity Emerging Growth Company Other liabilities Other Sundry Liabilities, Current Segment Reporting [Abstract] Entity Central Index Key Entity Central Index Key General and administrative General and Administrative Expense [Member] Lessee, Lease, Description [Table] Lessee, Lease, Description [Table] Accrued expenses and other current liabilities Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block] Non-GAAP Measure Description Non-GAAP Measure Description [Text Block] Non-PEO NEO Average Compensation Actually Paid Amount Non-PEO NEO Average Compensation Actually Paid Amount Award Timing, How MNPI Considered Award Timing, How MNPI Considered [Text Block] Equity Component [Domain] Equity Component [Domain] Segment and geographic information Segment Reporting Disclosure [Text Block] Lease contracts not yet commenced, term Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract CPG/Manufacturing(1) Manufactured Product, Other [Member] Additional 402(v) Disclosure Additional 402(v) Disclosure [Text Block] Stock-based compensation APIC, Share-Based Payment Arrangement, Increase for Cost Recognition Entity Shell Company Entity Shell Company Measurement Basis [Axis] Measurement Basis [Axis] Entity Incorporation, State or Country Code Entity Incorporation, State or Country Code Title Trading Arrangement, Individual Title Estimated future operating results period Estimated Future Operating Results Period, Subsequent To Acquisition Date Estimated Future Operating Results Period, Subsequent To Acquisition Date Performance achievement adjustment (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Factor Adjustment The net increase/(decrease) in number of grants, other than a stock option plan, due to change in performance achievement factor adjustment Statement [Table] Statement [Table] Principles of consolidation, variable interest entities Consolidation, Variable Interest Entity, Policy [Policy Text Block] City Area Code City Area Code Current liabilities Liabilities, Current [Abstract] Contingent consideration Business Combination, Contingent Consideration, Liability Insider Trading Policies and Procedures Not Adopted Insider Trading Policies and Procedures Not Adopted [Text Block] Concentration Risk Benchmark [Axis] Concentration Risk Benchmark [Axis] Level 1 Fair Value, Inputs, Level 1 [Member] Total current assets Assets, Current Statement of Cash Flows [Abstract] Statement of Cash Flows [Abstract] Revision of Prior Period [Domain] Revision of Prior Period [Domain] Accrued income taxes Increase (Decrease) in Accrued Taxes Payable Weighted Average Grant Date Fair Value Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract] Non-marketable equity securities Equity Securities without Readily Determinable Fair Value, Amount Percentage of remaining performance obligation expected to be recognized Revenue, Remaining Performance Obligation, Percentage Time deposits Bank Time Deposits [Member] Income taxes Income Tax Disclosure [Text Block] Nature of operations and summary of significant accounting policies Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block] 2028 Lessee, Operating Lease, Liability, to be Paid, Year Four Loss per share Earnings Per Share [Abstract] Current assets Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets Accumulated deficit Retained Earnings (Accumulated Deficit) Related Party Transaction [Line Items] Related Party Transaction [Line Items] General and administrative General and Administrative Expense Deferred income taxes Deferred Income Taxes and Tax Credits Aggregate Available Trading Arrangement, Securities Aggregate Available Amount Retail Retail [Member] Equity Awards Adjustments Equity Awards Adjustments [Member] Weighted average discount rate Operating Lease, Weighted Average Discount Rate, Percent Total Operating Lease, Liability Net cash used in financing activities Net Cash Provided by (Used in) Financing Activities Underlying Securities Award Underlying Securities Amount Performance stock units Performance Shares [Member] Deferred revenue Deferred Revenue, Current Credit Facility [Axis] Credit Facility [Axis] Amendment Flag Amendment Flag Reported Value Measurement Reported Value Measurement [Member] Entity Registrant Name Entity Registrant Name Payments to acquire business Payments to Acquire Businesses, Gross Adjustment to Non-PEO NEO Compensation Footnote Adjustment to Non-PEO NEO Compensation Footnote [Text Block] Stock Appreciation Rights (SARs) Stock Appreciation Rights (SARs) [Member] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table] Gross profit Gross Profit Intangible assets, net Intangible Assets Disclosure [Text Block] Foreign currency translation adjustments, net of tax Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent Fair Value as of Grant Date Award Grant Date Fair Value Customer Concentration Risk Customer Concentration Risk [Member] Subsequent Events [Abstract] Subsequent Events [Abstract] Level 2 Fair Value, Inputs, Level 2 [Member] Debt Debt Disclosure [Text Block] Fair Value Hierarchy and NAV [Domain] Fair Value Hierarchy and NAV [Domain] Number of employees acquired Business Acquisition, Number of Employees Acquired Business Acquisition, Number of Employees Acquired Geographical [Domain] Geographical [Domain] Recovery of Erroneously Awarded Compensation Disclosure [Line Items] Disaggregation of Revenue Disaggregation of Revenue [Table Text Block] Daily Simple SOFR, SONIA, Or SARON Rate Daily Simple SOFR, SONIA, Or SARON [Member] Daily Simple SOFR, SONIA, Or SARON Contingent maximum borrowing capacity Line of Credit Facility, Contingent Maximum Borrowing Capacity Line of Credit Facility, Contingent Maximum Borrowing Capacity Entity Address, Postal Zip Code Entity Address, Postal Zip Code Schedule of stock-based compensation Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block] Principles of consolidation Consolidation, Policy [Policy Text Block] Restatement Determination Date: Restatement Determination Date [Axis] Nature of operations Nature Of Business Policy [Policy Text Block] Description of business and nature of operations Netherlands NETHERLANDS Title of 12(b) Security Title of 12(b) Security Concentration Risk Type [Axis] Concentration Risk Type [Axis] Common stock, $0.0001 par value; 110,000,000 shares authorized; 76,521,182 and 75,887,475 issued and outstanding as of March 31, 2024 and December 31, 2023, respectively Common Stock, Value, Issued Share-based Payment Arrangement [Abstract] Share-Based Payment Arrangement [Abstract] Numerator for basic and diluted loss per share NumeratorForBasicAndDilutedLossPerShareAbstract Cash and cash equivalents Cash and Cash Equivalents, at Carrying Value Other investing activities, net Payments for (Proceeds from) Other Investing Activities Marketable equity securities Equity Securities, FV-NI, Noncurrent Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member] Options vested and exercisable, aggregate intrinsic value Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value Finite-Lived Intangible Assets [Line Items] Finite-Lived Intangible Assets [Line Items] Forfeited (in dollars per share) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value Number of major customers Number Of Major Customers Number of major customers. Cash flows from financing activities Net Cash Provided by (Used in) Financing Activities [Abstract] Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member] Estimated Useful Life Property, Plant and Equipment, Useful Life Number of Options Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward] Cash and Cash Equivalents [Domain] Cash and Cash Equivalents [Domain] Depreciation and amortization Depreciation, Depletion and Amortization, Nonproduction Fair Value Measurement [Domain] Fair Value Measurement [Domain] Basic (in dollars per share) Earnings Per Share, Basic Accounts payable Increase (Decrease) in Accounts Payable Lease liability payments Operating Lease, Payments Adjustment To PEO Compensation, Footnote Adjustment To PEO Compensation, Footnote [Text Block] Award Timing MNPI Disclosure Award Timing MNPI Disclosure [Text Block] Total assets acquired Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill Aggregate Pension Adjustments Service Cost Aggregate Pension Adjustments Service Cost [Member] Compensation Actually Paid vs. Other Measure Compensation Actually Paid vs. Other Measure [Text Block] Total current liabilities Liabilities, Current Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member] Unrecognized compensation expense, options Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount As reported Previously Reported [Member] Total assets Assets 2024 (excluding three months ended March 31, 2024) Finite-Lived Intangible Asset, Expected Amortization, Year One Debt outstanding Long-Term Line of Credit Maximum contingent consideration Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High Granted (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period Other revenues Other Revenue [Member] Other Revenue Purchase of property and equipment Payments to Acquire Property, Plant, and Equipment Forgone Recovery due to Violation of Home Country Law, Amount Forgone Recovery due to Violation of Home Country Law, Amount Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items] Commitments and contingencies (Note 14) Commitments and Contingencies Stock-based compensation expense Share-Based Payment Arrangement [Policy Text Block] Termination Date Trading Arrangement Termination Date Schedule of Related Party Transactions, by Related Party [Table] Related Party Transaction [Table] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items] 2026 Lessee, Operating Lease, Liability, to be Paid, Year Two Stock-based compensation Share-Based Payment Arrangement [Text Block] Payable Other Liabilities Schedule of revenues by customer location Revenue from External Customers by Geographic Areas [Table Text Block] Entity Address, City or Town Entity Address, City or Town Adjustment to deferred taxes Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Deferred Tax Liability This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to deferred tax liabilities assumed in connection with a business combination for which the initial accounting was incomplete. Schedule of business acquisition, assets acquired and liabilities assumed Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block] Property, Plant and Equipment, Excluding Capitalized Software Costs Property, Plant and Equipment, Excluding Capitalized Software Costs [Member] Property, Plant and Equipment, Excluding Capitalized Software Costs Accounts payable, accrued expenses and other liabilities Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses Schedule of option activity Share-Based Payment Arrangement, Option, Activity [Table Text Block] Total stock-based compensation Share-Based Payment Arrangement, Expense Net loss Net loss Net loss Net Income (Loss) Trading Arrangement: Trading Arrangement [Axis] Options granted (in dollars per share) Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price Pay vs Performance Disclosure, Table Pay vs Performance [Table Text Block] Forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period Business Acquisition [Axis] Business Acquisition [Axis] Schedule of Intangible assets Schedule of Finite-Lived Intangible Assets [Table Text Block] Equity Awards Adjustments, Excluding Value Reported in Compensation Table Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member] Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member] Entity File Number Entity File Number Cash and Cash Equivalents [Axis] Cash and Cash Equivalents [Axis] Revenues Revenue from Contract with Customer [Text Block] Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares) Restricted Stock, Shares Issued Net of Shares for Tax Withholdings Document Fiscal Year Focus Document Fiscal Year Focus Income Statement [Abstract] Income Statement [Abstract] Entity Address, Address Line One Entity Address, Address Line One Entity Address, Address Line Two Entity Address, Address Line Two Effect of exchange rate changes on cash and cash equivalents Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations SOFR Or Adjusted EURIBOR Rate SOFR Or Adjusted EURIBOR Rate [Member] SOFR Or Adjusted EURIBOR Rate Weighted average shares outstanding Weighted Average Number of Shares Outstanding, Basic [Abstract] Accrued expenses and other current liabilities Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities Name Forgone Recovery, Individual Name 2024 (excluding three months ended March 31, 2024) Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year Award Date [Domain] Award Date [Domain] Weighted average remaining lease term, in years Operating Lease, Weighted Average Remaining Lease Term 2028 Finite-Lived Intangible Asset, Expected Amortization, Year Five Document Period End Date Document Period End Date Serbia SERBIA Contract with Customer, Basis of Pricing [Domain] Contract with Customer, Basis of Pricing [Domain] Investments in equity securities Investment, Policy [Policy Text Block] Other (income)/expenses, net Other Noncash Income (Expense) Award Timing MNPI Considered Award Timing MNPI Considered [Flag] Base Rate Base Rate [Member] Total lease payments Lessee, Operating Lease, Liability, to be Paid Outstanding, beginning balance (in shares) Outstanding, ending balance (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number Options exercised (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period Asset Class [Axis] Asset Class [Axis] Insider Trading Arrangements [Line Items] Line of Credit Facility [Line Items] Line of Credit Facility [Line Items] NextSphere NextSphere Technologies Inc [Member] NextSphere Technologies Inc Schedule of performance share activity Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block] Outstanding Aggregate Erroneous Compensation Amount Outstanding Aggregate Erroneous Compensation Amount Non-cash net change in lease liability due to lease modifications Noncash Increase (Decrease) In Operating Lease, Liability Noncash Increase (Decrease) In Operating Lease, Liability Net loss per share Earnings Per Share, Basic And Diluted EPS [Abstract] Earnings Per Share, Basic And Diluted EPS 2027 Lessee, Operating Lease, Liability, to be Paid, Year Three PEO Actually Paid Compensation Amount PEO Actually Paid Compensation Amount Cost of revenue Cost of Revenue Revenues recognized Contract with Customer, Liability, Revenue Recognized Adjustment to Compensation: Adjustment to Compensation [Axis] Prepaid expenses and other current assets Prepaid Expense and Other Assets, Current Accounts receivable Accounts Receivable [Member] Prior period reclassifications Reclassification, Comparability Adjustment [Policy Text Block] Healthcare and Pharma Health Care [Member] Document Transition Report Document Transition Report Document Quarterly Report Document Quarterly Report Customer [Domain] Customer [Domain] Fair Value, Recurring and Nonrecurring [Table] Fair Value, Recurring and Nonrecurring [Table] Accumulated other comprehensive income/(loss) Accumulated Other Comprehensive Income (Loss), Net of Tax Entity Current Reporting Status Entity Current Reporting Status Accumulated deficit Retained Earnings [Member] Pension Adjustments Service Cost Pension Adjustments Service Cost [Member] Related Party [Axis] Related and Nonrelated Parties [Axis] Basic (in shares) Weighted average number of shares outstanding - basic (in shares) Weighted Average Number of Shares Outstanding, Basic Stock Price or TSR Estimation Method Stock Price or TSR Estimation Method [Text Block] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Schedule of Revenues from External Customers and Long-Lived Assets [Table] Poland POLAND Restricted stock units Restricted Stock Units (RSUs) [Member] Property, plant and equipment Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment North America North America [Member] Increase (Decrease) in Stockholders' Equity [Roll Forward] Increase (Decrease) in Stockholders' Equity [Roll Forward] Executive Category: Executive Category [Axis] Awards granted, period performance factor percentage Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants In Period, Period Performance Factor Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants In Period, Period Performance Factor Name Awards Close in Time to MNPI Disclosures, Individual Name Sales Revenue Benchmark [Member] Options forfeited (in shares) Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period Entity Filer Category Entity Filer Category Time-and-material Time-and-Materials Contract [Member] Schedule of accrued expenses and other current liabilities Other Current Liabilities [Table Text Block] Remaining performance obligations Revenue, Remaining Performance Obligation, Amount Income Statement Location [Domain] Statement of Income Location, Balance [Domain] Letter of Credit Letter of Credit [Member] Company Selected Measure Name Company Selected Measure Name EX-101.PRE 10 gdyn-20240331_pre.xml XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE DOCUMENT XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Cover Page - shares
3 Months Ended
Mar. 31, 2024
Apr. 29, 2024
Cover [Abstract]    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Mar. 31, 2024  
Document Transition Report false  
Entity File Number 001-38685  
Entity Registrant Name Grid Dynamics Holdings, Inc.  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 83-0632724  
Entity Address, Address Line One 5000 Executive Parkway  
Entity Address, Address Line Two Suite 520  
Entity Address, City or Town San Ramon  
Entity Address, State or Province CA  
Entity Address, Postal Zip Code 94583  
City Area Code 650  
Local Phone Number 523-5000  
Title of 12(b) Security Common Stock, par value $0.0001 per share  
Trading Symbol GDYN  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   76,521,182
Current Fiscal Year End Date --12-31  
Amendment Flag false  
Entity Central Index Key 0001743725  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q1  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.1.u1
UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Current assets    
Cash and cash equivalents $ 249,437 $ 257,227
Accounts receivable, net of allowance of $1,389 and $1,363 as of March 31, 2024 and December 31, 2023, respectively 53,039 49,824
Unbilled receivables 5,649 3,735
Prepaid income taxes 5,609 3,998
Prepaid expenses and other current assets 8,768 9,196
Total current assets 322,502 323,980
Property and equipment, net 12,552 11,358
Operating lease right-of-use assets, net 10,214 10,446
Intangible assets, net 25,531 26,546
Goodwill 53,868 53,868
Deferred tax assets 7,220 6,418
Other noncurrent assets 3,374 2,549
Total assets 435,261 435,165
Current liabilities    
Accounts payable 2,935 3,621
Accrued compensation and benefits 19,914 19,263
Accrued income taxes 9,895 8,828
Operating lease liabilities, current 4,491 4,235
Accrued expenses and other current liabilities 5,885 6,276
Total current liabilities 43,120 42,223
Deferred tax liabilities 3,164 3,274
Operating lease liabilities, noncurrent 6,166 6,761
Total liabilities 52,450 52,258
Commitments and contingencies (Note 14)
Stockholders’ equity    
Common stock, $0.0001 par value; 110,000,000 shares authorized; 76,521,182 and 75,887,475 issued and outstanding as of March 31, 2024 and December 31, 2023, respectively 8 8
Additional paid-in capital 401,541 397,511
Accumulated deficit (19,834) (15,886)
Accumulated other comprehensive income/(loss) 1,096 1,274
Total stockholders’ equity 382,811 382,907
Total liabilities and stockholders’ equity $ 435,261 $ 435,165
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.1.u1
UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Statement of Financial Position [Abstract]    
Allowance for doubtful accounts $ 1,389 $ 1,363
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized (in shares) 110,000,000 110,000,000
Common stock, shares issued (in shares) 76,521,182 75,887,475
Common stock, shares outstanding (in shares) 76,521,182 75,887,475
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.1.u1
UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Statement [Abstract]    
Revenues $ 79,817 $ 80,080
Cost of revenue 52,152 51,505
Gross profit 27,665 28,575
Operating expenses    
Engineering, research, and development 4,372 4,203
Sales and marketing 7,292 5,634
General and administrative 21,543 24,730
Total operating expenses 33,207 34,567
Loss from operations (5,542) (5,992)
Other income/(expense), net 2,525 1,682
Loss before income taxes (3,017) (4,310)
Provision for income taxes 931 3,660
Net loss (3,948) (7,970)
Foreign currency translation adjustments, net of tax (178) 495
Comprehensive loss $ (4,126) $ (7,475)
Loss per share    
Basic (in dollars per share) $ (0.05) $ (0.11)
Diluted (in dollars per share) $ (0.05) $ (0.11)
Weighted average shares outstanding    
Basic (in shares) 76,151 74,459
Diluted (in shares) 76,151 74,459
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.1.u1
UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS’ EQUITY - USD ($)
shares in Thousands, $ in Thousands
Total
Common Stock
Additional paid-in capital
Accumulated deficit
Accumulated other comprehensive income/(loss)
Beginning balance (in shares) at Dec. 31, 2022   74,156      
Beginning balance at Dec. 31, 2022 $ 363,044 $ 7 $ 378,006 $ (14,121) $ (848)
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net loss (7,970)     (7,970)  
Stock-based compensation 13,257   13,257    
Exercise of stock options (in shares)   1      
Exercise of stock options 10   10    
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)   739      
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (8,951)   (8,951)    
Foreign currency translation adjustments, net of tax 495       495
Ending balance (in shares) at Mar. 31, 2023   74,896      
Ending balance at Mar. 31, 2023 359,885 $ 7 382,322 (22,091) (353)
Beginning balance (in shares) at Dec. 31, 2023   75,887      
Beginning balance at Dec. 31, 2023 382,907 $ 8 397,511 (15,886) 1,274
Increase (Decrease) in Stockholders' Equity [Roll Forward]          
Net loss (3,948)     (3,948)  
Stock-based compensation 11,339   11,339    
Exercise of stock options (in shares)   69      
Exercise of stock options 260   260    
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)   565      
Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (7,569)   (7,569)    
Foreign currency translation adjustments, net of tax (178)       (178)
Ending balance (in shares) at Mar. 31, 2024   76,521      
Ending balance at Mar. 31, 2024 $ 382,811 $ 8 $ 401,541 $ (19,834) $ 1,096
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.1.u1
UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Cash flows from operating activities    
Net loss $ (3,948) $ (7,970)
Adjustments to reconcile net loss to net cash provided by operating activities:    
Depreciation and amortization 2,914 1,645
Operating lease right-of-use assets amortization expense 998 650
Bad debt expense 86 20
Deferred income taxes (912) (923)
Stock-based compensation 11,339 13,257
Other (income)/expenses, net (287) 23
Changes in assets and liabilities:    
Accounts receivable (3,301) (2,613)
Unbilled receivables (1,914) (921)
Prepaid income taxes (1,611) (1,639)
Prepaid expenses and other current assets 382 (368)
Accounts payable (728) (691)
Accrued compensation and benefits 651 6,054
Operating lease liabilities (1,105) (462)
Accrued income taxes 1,067 3,306
Accrued expenses and other current liabilities (391) 2,306
Net cash provided by operating activities 3,240 11,674
Cash flows from investing activities    
Purchase of property and equipment (3,197) (1,589)
Other investing activities, net (739) 0
Net cash used in investing activities (3,936) (1,589)
Cash flows from financing activities    
Proceeds from exercises of stock options 571 10
Payments of tax obligations resulted from net share settlement of vested stock awards (7,569) (8,951)
Net cash used in financing activities (6,998) (8,941)
Effect of exchange rate changes on cash and cash equivalents (96) 495
Net increase/(decrease) in cash and cash equivalents (7,790) 1,639
Cash and cash equivalents, beginning of period 257,227 256,729
Cash and cash equivalents, end of period 249,437 258,368
Supplemental disclosure of cash flow information:    
Cash paid for income taxes $ 2,495 $ 2,926
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Nature of operations and summary of significant accounting policies
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Nature of operations and summary of significant accounting policies Nature of operations and summary of significant accounting policies
Grid Dynamics Holdings, Inc. (the “Company”) is a leading provider of technology consulting, platform and product engineering, and advanced analytics services. The Company’s core business includes cloud platform and product engineering, supply chain and advanced manufacturing, and data and machine learning platform engineering. Grid Dynamics also helps organizations become more agile and create innovative digital products and experiences through its deep expertise in emerging technology, such as artificial intelligence (“AI”), data science, cloud computing, big data and DevOps, lean software development practices and a high-performance product culture. The Company’s headquarters and principal place of business is in San Ramon, California.
The following is a summary of critical accounting policies consistently applied in the preparation of the accompanying unaudited condensed consolidated financial statements. Full description of significant accounting policies is provided in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023, as filed with the SEC on February 29, 2024.
Basis of presentation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2023 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 29, 2024.
Principles of consolidation
The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.
The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of March 31, 2024. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation. There was minimal activity in the Affiliate during the three months ended March 31, 2024.
Use of estimates
The preparation of the unaudited condensed consolidated financial statements in accordance with the U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, valuation of stock-based compensation and contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.
Allowance for credit losses
The Company maintains an allowance against accounts receivable for the estimated probable losses on uncollectible accounts. The allowance is based upon historical loss experience, as adjusted for the current market conditions and forecasts about future economic conditions. As of March 31, 2024 and December 31, 2023 the Company recorded $1.4 million of allowance for credit losses.
Stock-based compensation
The Company recognizes the cost of its stock-based awards based on the fair value of these awards at the date of grant. The fair value of service-based and performance based awards without market conditions at the date of grant is based on the closing price of the Company’s shares on NASDAQ. For performance awards with market conditions the grant date fair value is measured using the Monte-Carlo model. Grant-date fair value of stock options is estimated using the Black-Scholes-Merton option pricing model. The model requires management to make a number of key assumptions including expected volatility, expected term, risk-free interest rate, and expected dividends. The Company evaluates the assumptions used to value its share-based awards on each grant date. For an award with graded vesting that is subject only to a service condition (e.g., time-based vesting), the Company uses the straight-line attribution method under ASC Topic 718 under which it recognizes compensation cost on a straight-line basis over the total requisite service period for the entire award (i.e., over the requisite service period of the last separately-vesting tranche of the award). For awards with performance conditions the compensation cost recognized is based on the actual or expected achievement of the performance condition based on the graded attribution method. Additionally, the Company applies the “floor” concept so that the amount of compensation cost that is recognized as of any date is at least equal to the grant-date fair value of the vested portion of the award on that date. That is, if the straight-line expense recognized to date is less than the grant date fair value of the award that is legally vested at that date, the company will increase its recognized expense to at least equal the fair value of the vested amount. The requisite service period, which is the vesting period, of service-based and performance-based awards is typically 4 years and 3 years, respectively. The Company made an accounting policy election to account for forfeitures when they occur.
Prior period reclassifications
The Company presented and analyzed its revenues by customer locations attributing revenues based upon billed customer location. Effective December 31, 2023, the Company attributes revenues to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. The Company believes this change allows it to more effectively analyze its geographies and associated risks. This change did not result in any adjustments to our previously issued financial statements and were applied retrospectively beginning on January 1, 2021. Comparative information for the three months ended March 31, 2023 is presented in the following table:
Three Months Ended
March 31, 2023
As reported
Reclassified
Customer Location(in thousands)
North America$63,949 $60,137 
Europe15,894 15,908 
Other237 4,035 
Total Revenues$80,080 $80,080 
Recently adopted accounting pronouncements
Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies.
There were no recently adopted accounting standards which had a material impact on the Company’s consolidated financial position, results of operations, changes in stockholders’ equity and cash flows.
Recently issued accounting pronouncements
On November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280) Improvements to Reportable Segment Disclosures, that expands disclosures requirements around significant segment expenses and other segment items that are included in reported measure of segment profit or loss. The guidance also requires entities to provide in their interim financial reports all disclosures about a reportable segment’s profit or loss and assets that are currently required only on annual basis. Guidance also obliges entities with a single reportable segment to provide all the disclosures under amended ASC 280 in their interim and annual financial statement. The new guidance is effective for annual reporting periods beginning after December 15, 2023, and interim reporting periods within fiscal years beginning after December 15, 2024 on a retrospective basis, The Company is currently evaluating the impact on this guidance on its consolidated financial statements.
On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures (Topic 740) Improvements to Income Tax Disclosures, which expands annual disclosure requirements around income taxes primarily related to the rate reconciliation and income taxes paid. The new guidance is effective for annual reporting periods beginning after December 15, 2024 with early adoption permitted. The guidance will be applied on a prospective basis with a retrospective application option. The Company is currently evaluating the impact on this guidance on its consolidated financial statements.
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions
3 Months Ended
Mar. 31, 2024
Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract]  
Acquisitions Acquisitions
NextSphere — On April 18, 2023, the Company completed the acquisition of 100% of NextSphere Technologies, Inc. (“NextSphere”). Founded in 2006, NextSphere is headquartered in Tampa, FL, has an engineering presence in Phoenix, AZ, and operates two large engineering centers in India’s tech hubs of Hyderabad and Chennai. NextSphere specializes in modern application development, systems monetization, product development, cloud and infrastructure services, and quality assurance. Over the years, NextSphere has worked with several brands across numerous industry verticals with expertise in Healthcare, Fintech, and CPG/Manufacturing industries. The Company believes this acquisition will support the Company’s objectives of enhancing its technical capabilities, expanding its global footprint, and increasing its client base. The total purchase consideration is $25.2 million and consists of cash consideration of $24.3 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $0.9 million. The maximum amount of potential contingent cash consideration is $2.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by NextSphere within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. During the third quarter of 2023 the Company concluded that NextSphere was not going to achieve required performance metrics and has written-off all related contingent consideration liability.
Mutual Mobile — On December 23, 2022, the Company acquired 100% of the equity interest of the software company Mutual Mobile Inc. (“Mutual Mobile”). Founded in 2009, Mutual Mobile is based in the United States and India, offers end-to-end design and development of next-generation applications, combining mobile, augmented/virtual/mixed reality, and cloud edge/IoT practices. The acquisition of Mutual Mobile added approximately 180 employees to the Company’s headcount. The acquisition will accelerate Company’s strategic expansion into the India engineering market and further solidifies Grid Dynamics’ commitment to global growth. The total purchase consideration is $16.1 million and consists of cash consideration of $12.8 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $3.3 million. The maximum amount of potential contingent cash consideration is $5.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by Mutual Mobile within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. During the third quarter of 2023 the Company concluded that Mutual Mobile was not going to achieve required performance metrics and has written-off all related contingent consideration liability.
The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:
NextSphereMutual Mobile
(in thousands)
Current assets$9,708 $4,982 
Property, plant and equipment192 132 
Intangible assets9,906 3,749 
Goodwill9,031 8,879 
Other noncurrent assets511 102 
Total assets acquired$29,348 $17,844 
Accounts payable, accrued expenses and other liabilities(1,990)(1,576)
Deferred taxes(2,427)(686)
Total liabilities assumed$(4,417)$(2,262)
Purchase price allocation$24,931 $15,582 
Current assets acquired include cash and cash equivalents in the amount of $6.4 million for NextSphere and $3.5 million for Mutual Mobile. The purchase price for all acquisitions was assigned to assets acquired and liabilities assumed based on their estimated fair values as of the date of acquisition, and any excess was allocated to goodwill, as shown in the table above.
The goodwill recognized as a result of the NextSphere acquisition represents the value the Company expects to achieve through the implementation of operational synergies and growth opportunities as the Company expands its global reach as well as the assembled workforce acquired. The goodwill is not deductible for income tax purposes. The goodwill recognized as a result of the Mutual Mobile acquisition is attributable to synergies expected to be achieved by combining the businesses of the Company and Mutual Mobile, expected future contracts, the assembled workforce acquired and other factors. The goodwill is not deductible for income tax purposes.
During the fourth quarter of 2023, the Company finalized working capital adjustment for NextSphere that resulted in a decrease of original purchase price in the amount of $0.3 million and updated fair value of deferred taxes by $0.2 million. These adjustments resulted in a corresponding net change in goodwill by $0.1 million. The Company then finalized the fair value of the assets acquired and liabilities assumed in the acquisition of NextSphere.
During the fourth quarter of 2023, the Company finalized working capital adjustment for Mutual Mobile which reduced the original purchase price by $0.5 million and decreased fair value of deferred taxes by $0.2 million. These adjustments resulted in a corresponding net change in goodwill by $0.7 million. The Company then finalized the fair value of the assets acquired and liabilities assumed in the acquisition of Mutual Mobile.
The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of March 31, 2024 are as follows:
NextSphereMutual Mobile
Fair ValueUseful LifeFair ValueUseful Life
(in thousands, except years)
Customer relationships$8,415 10 years$3,453 8 years
Acquired software995 2.5 years— 
Trade name496 2 years152 4 years
Non-compete agreements— 144 2 years
Total identified intangible assets$9,906 $3,749 
The Company used the acquisition method of accounting for all acquisitions, and consequently, the results of operations for all acquisitions are reported in the consolidated financial statements from the dates of acquisition. Pro forma results of operations have not been presented because the effect of the acquisitions on the Company’s condensed consolidated financial statements was not material individually or in the aggregate.
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair value
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair value Fair value
Estimates of fair value of financial instruments not carried at fair value on a recurring basis are generally subjective in nature, and are determined as of a specific point in time based on the characteristics of the financial instruments and relevant market information. The Company’s financial assets and liabilities, are generally short-term in nature; therefore, the carrying value of these items approximates their fair value. The following table summarizes certain fair value information as of March 31, 2024 and December 31, 2023 for financial assets and liabilities measured at fair value on a recurring basis, as well as estimated fair values of certain other financial assets and liabilities not measured on a recurring basis:
Fair Value Hierarchy
BalanceEstimated Fair ValueLevel 1Level 2Level 3
(in thousands)
March 31, 2024
Financial Assets:
Cash equivalents:
Money market funds
$206,363 $206,363 $206,363 $— $— 
Short-term investments:
Time deposits$739 $739 $— $739 $— 
Long-term investments:
Marketable equity securities
$731 $731 $731 $— $— 
Non-marketable equity securities
$1,250 
December 31, 2023
Financial Assets:
Cash equivalents:
Money market funds
$204,388 $204,388 $204,388 $— $— 
Long-term investments:
Marketable equity securities
$421 $421 $421 $— $— 
Non-marketable equity securities
$1,250 
Investments in equity securities
The Company holds investments in public and privately-held entities. As the Company does not have either controlling interest or significant influence over these entities investments are accounted using two different methods depending on the type of equity investments:
Equity investments in public entities are measured and carried at fair value with any changes recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.
Equity investments that do not have readily determinable fair value are accounted for under the fair value measurement alternative. Under the measurement alternative, the carrying value is measured at cost, less any impairment, plus or minus changes resulting from observable price changes in orderly transactions for identical or similar investments of the same issuer. All gains and losses on non-marketable securities, whether realized or unrealized, are recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.
The Company classifies its investments in equity securities in Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets.
Investment in non-marketable equity securities held by the Company as of March 31, 2024 and December 31, 2023 represents investment in its related party, a company affiliated with the member of the Company’s Board of Directors, that does not have readily determinable fair values.
XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and equipment, net
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Property and equipment, net Property and equipment, net
Property and equipment, net consisted of the following:
Estimated
Useful
Life
As of
March 31,
2024
December 31,
2023
(in years)(in thousands)
Computers and equipment
2-6
$14,224 $13,837 
Furniture and fixtures
3-10
1,558 1,732 
Leasehold improvements
2-8
1,338 1,343 
Software
3-5
1,236 1,236 
Machinery and automobiles
4-6
581 570 
$18,937 $18,718 
Less: Accumulated depreciation and amortization(12,908)(12,441)
$6,029 $6,277 
Capitalized software development costs
2
$11,472 $9,050 
Less: Accumulated amortization(4,949)(3,969)
$6,523 $5,081 
Property and equipment, net$12,552 $11,358 
XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible assets, net
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible assets, net Intangible assets, net
Intangible assets, net consisted of the following:
Estimated
Useful
Life
As of
March 31,
2024
December 31,
2023
(in years)(in thousands)
Customer relationships
8-12
$27,839 $27,839 
Tradenames
2-10
5,324 5,324 
Acquired software2.5995 995 
Non-compete agreements2584 584 
$34,742 $34,742 
Less: Accumulated amortization(9,211)(8,196)
Intangible assets, net$25,531 $26,546 
Based on the carrying value of the Company’s existing intangible assets as of March 31, 2024, the estimated amortization expense for the future years is as follows:
Amount
(in thousands)
2024 (excluding three months ended March 31, 2024)
3,035 
20253,625 
20263,168 
20273,130 
20283,107 
Thereafter9,466 
Total$25,531 
XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued expenses and other current liabilities
3 Months Ended
Mar. 31, 2024
Payables and Accruals [Abstract]  
Accrued expenses and other current liabilities Accrued expenses and other current liabilities
The components of accrued expenses and other current liabilities were as follows:
As of
March 31,
2024
December 31, 2023
(in thousands)
Accrued expenses$3,564 $2,943 
Customer deposits718 756 
Deferred revenue610 577 
Value added tax payable444 993 
Other liabilities549 1,007 
Total accrued expenses and other current liabilities$5,885 $6,276 
As of December 31, 2023 the Company had payable to its related party, a company affiliated with the member of the Company’s Board of Directors, in the amount of $0.6 million that was classified as Other current liabilities in unaudited condensed consolidated balance sheet. The Company fully settled this payable during the first quarter of 2024. There were no payables to related parties as of March 31, 2024.
XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt
3 Months Ended
Mar. 31, 2024
Debt Disclosure [Abstract]  
Debt Debt
Revolving Credit Facility — On March 15, 2022, the Company entered into a Credit Agreement (the “2022 Credit Agreement”) by and among the Company, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a secured multicurrency revolving loan facility with an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. The Company may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement matures on March 15, 2025.
At the Company’s option, borrowings under the 2022 Credit Agreement accrue interest at a per annum rate based on either (i) the base rate plus a margin ranging from 1.0% to 1.5%, (ii) an adjusted term Secured Overnight Financing Rate (“SOFR”) or adjusted the Euro Interbank Offer Rate (“EURIBOR”) (based on one, three or six-month interest periods) plus a margin ranging from 2.0% to 2.5%, or (iii) an adjusted daily simple SOFR rate (or SONIA rate in the case of loans denominated in pounds sterling, or SARON rate in the case of loans denominated in Swiss francs), plus a margin ranging from 2.0% to 2.5%, in each case, with the applicable margin determined based on the Company’s consolidated total leverage ratio. The Company is also obligated to pay other closing fees, administration fees, commitment fees and letter of credit fees customary for a credit facility of this size and type.
The Company’s obligations under the 2022 Credit Agreement are required to be guaranteed by certain of its domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of the Company and the Company’s subsidiary guarantors.

The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. As of March 31, 2024, the Company was in compliance with all covenants contained in the 2022 Credit Agreement.
As of March 31, 2024 and December 31, 2023, respectively, the Company did not have any outstanding debt under the 2022 Credit Agreement.
XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenues Revenues
Disaggregation of revenues
The tables below present disaggregated revenues from contracts with customer by customer location, industries and contract-types. The Company believes this disaggregation best depicts how the nature, amount, timing and uncertainty of our revenues
and cash flows are affected by industry, market and other economic factors. The Company has a single reportable segment for the three months ended March 31, 2024 and 2023.
The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. Substantially all of the revenue in our North America region relates to operations in the United States.
Three Months Ended
March 31,
20242023
Customer Location(in thousands)
North America$63,740 $60,137 
Europe13,402 15,908 
Other2,675 4,035 
Total Revenues$79,817 $80,080 
The following table shows the disaggregation of the Company’s revenues by main vertical markets:
Three Months Ended
March 31,
20242023
Vertical(in thousands)
Retail$24,629 $25,396 
Technology, Media and Telecom24,033 26,811 
Finance10,243 6,515 
CPG/Manufacturing(1)
9,559 12,646 
Healthcare and Pharma
3,009 3,152 
Other8,344 5,560 
Total Revenues$79,817 $80,080 
__________________________
(1)CPG stands for Consumer Packaged Goods
The following table shows the disaggregation of the Company’s revenues by contract types:
Three Months Ended
March 31,
20242023
Contract Type(in thousands)
Time-and-material$74,820 $70,526 
Fixed-fee4,412 9,554 
Other revenues585 — 
Total Revenues$79,817 $80,080 
Contract balances

A contract asset is a right to consideration that is conditional upon factors other than the passage of time. A contract liability, or deferred revenue, consists of advance payments and billings in excess of revenues recognized. As of March 31, 2024 and December 31, 2023 the Company did not have contract assets recorded in its unaudited condensed consolidated balance sheet. Contract liabilities were $0.6 million as of March 31, 2024 and December 31, 2023, respectively. These balances were classified as Accrued and other current liabilities in the unaudited condensed consolidated balance sheets.    
During the first quarter of 2024, the Company recognized $0.3 million of revenues that were included in Accrued and other current liabilities at December 31, 2023. During the first quarter of 2023, the Company recognized $0.4 million of revenues that were included in Accrued and other current liabilities at December 31, 2022.
Remaining performance obligations
As of March 31, 2024, the aggregate amount of transaction price allocated to remaining performance obligations was $4.7 million. Our remaining performance obligations represent commitments for future services for which work has not been performed and revenues are to be recorded in future periods. The Company expects to recognize approximately 50.3% of its remaining performance obligations as revenues during nine months of fiscal year 2024, and an additional 49.7% in 2025. Remaining performance obligations include currently recorded contract liability as well as amounts that will be invoiced in future periods and excludes the contracts that meet at least one of the following criteria under ASC Topic 606 “Revenue from Contracts with Customers”:
1)contracts with an original duration of one year or less, including contracts that can be terminated for convenience without a substantive penalty,
2)contracts for which the Company recognizes revenues based on the right to invoice for services performed,
3)variable consideration allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation in accordance with ASC 606-10-25-14(b), for which the criteria in ASC 606-10-32-40 have been met, or
4)variable consideration in the form of a sales-based or usage-based royalty promised in exchange for a license of intellectual property.
Many of the Company’s contracts met one or more of these exemptions as of March 31, 2024.
Customers concentration
The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue:
Three Months Ended
March 31,
20242023
Customer 116.7 %13.9 %
The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:
As of
March 31,
2024
December 31,
2023
Accounts receivable11
Unbilled receivable32
Transactions with related parties
During the three months ended March 31, 2024 and 2023, the Company conducted transaction with a number of companies affiliated with the members of the Company’s Board of Directors. As a result, the Company recorded revenues from its related parties of $2.8 million and $1.8 million during the first quarter of 2024 and 2023, respectively. As of March 31, 2024 and December 31, 2023 accounts receivable from related parties were $1.9 million and $0.9 million, respectively.
XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases
3 Months Ended
Mar. 31, 2024
Leases [Abstract]  
Leases Leases
A major part of the Company’s lease obligations is for office real estate. The Company may also lease corporate apartments, cars and office equipment. Payments on some of our leases may depend on index or rate, including Consumer Price Index. Such payments are included in the calculation of lease liability and assets at the commencement dates, all future changes are accounted as variable payments similar to other variable payments, such as common area maintenance, property and other taxes, utilities and insurance that are based on the lessor’s cost.
The Company’s leases have remaining lease terms ranging from 0.1 to 6.2 years. Certain lease agreements may include the option to extend or terminate before the end of the contractual term and are often non-cancelable or cancellable only by the payment of penalties. The Company includes these options in the lease term when it is reasonably certain that they will be exercised.
As of March 31, 2024 and December 31, 2023, the Company had no finance leases.
Operating lease expense is recorded on a straight-line basis over the lease term. During the three months ended March 31, 2024 and 2023 lease costs were as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Operating lease cost$1,193 $781 
Variable lease cost76 194 
Short-term lease cost54 98 
Total lease cost$1,323 $1,073 
Supplemental information related to operating lease transactions is as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Lease liability payments$1,168 $727 
Lease assets obtained in exchange for liabilities$853 $1,022 
Non-cash net change in lease assets due to lease modifications$40 $— 
Non-cash net change in lease liability due to lease modifications$(40)$— 
Weighted average remaining lease term and discount rate as of March 31, 2024 and December 31, 2023 is as follows:
As of
March 31,
2024
December 31,
2023
Weighted average remaining lease term, in years3.23.4
Weighted average discount rate7.2 %7.0 %
As of March 31, 2024, operating lease liabilities will mature as follows:
Lease Payments
(in thousands)
2024 (excluding three months ended March 31, 2024)
$3,461 
20253,700 
20262,331 
20272,015 
2028285 
Thereafter268 
Total lease payments12,060 
Less: imputed interest(1,403)
Total$10,657 
There were no material lease agreements signed with related parties as of March 31, 2024 and December 31, 2023.
As of March 31, 2024, the Company had committed to payments of $0.4 million related to operating lease agreement that had not yet commenced as of March 31, 2024. This operating lease will commence in 2024 with the lease term of 6.2 years. The Company does not have finance lease agreements that had not yet commenced.
XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income taxes
3 Months Ended
Mar. 31, 2024
Income Tax Disclosure [Abstract]  
Income taxes Income taxes
The Company recorded income tax expense of $0.9 million and $3.7 million for the three months ended March 31, 2024 and 2023, respectively. The Company’s effective tax rate was (30.9)% and (84.9)% for the first quarter of 2024 and 2023, respectively.
The change in the effective tax rate for the three months ended March 31, 2024, as compared to the same period in 2023, was attributable mainly to Section 162(m) compensation deduction limitations, foreign rate differential, and foreign inclusion adjustments.
For the three months ended March 31, 2024, the Company used a discrete effective tax rate method to calculate income taxes due to sensitivity of the forecast. Through March 31, 2024, the Company determined that small changes in the estimated “ordinary” income would result in significant changes in the estimated annual effective tax rate causing material distortion in the year-to-date tax provision. As of March 31, 2024, the Company is unable to produce a reliable estimate of ordinary income for the quarter and year ending 2024 due to the inability to reliably or accurately forecast 2024 operating expenses. Similarly, for the three months ended March 31, 2024, due to uncertainties created by geopolitical risks, the Company’s estimated annual effective tax rate method would not provide a reliable estimate and therefore was not used.
XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Stock-based compensation Stock-based compensation
Employee stock-based compensation cost recognized in the condensed consolidated statements of loss and comprehensive loss was as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Cost of revenue$482 $460 
Engineering, research, and development1,288 1,653 
Sales and marketing1,677 1,055 
General and administrative7,892 10,089 
Total stock-based compensation$11,339 $13,257 
Stock Options
2018 Plan
Stock option activity under the Company’s 2018 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2023
1,486,428 $3.54 $14,552 
Options exercised(65,533)$3.54 
Options outstanding as of March 31, 2024
1,420,895 $3.54 $12,433 4.8
Options vested and exercisable as of March 31, 2024
1,420,895 $3.54 $12,433 4.8
As of March 31, 2024, the Company fully recognized stock-based compensation costs related to 2018 Plan options.
2020 Plan
As of March 31, 2024, 1.9 million shares were available for grant under 2020 Incentive Stock Plan (“2020 Plan”).
Stock option activity under the Company’s 2020 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2023
3,165,715 $12.79 $7,197 
Options granted19,000 $13.54 
Options exercised(3,587)$7.90 
Options forfeited(43,175)$14.75 
Options expired(27,541)$17.46 
Options outstanding as of March 31, 2024
3,110,412 $12.73 $5,066 7.3
Options vested and exercisable as of March 31, 2024
1,834,453 $11.73 $4,470 6.5
The Company elected the policy to account for forfeitures upon occurrence. The total unrecognized compensation expenses related to 2020 Stock Plan options as of March 31, 2024 was $7.7 million to be expensed on a straight-line basis over the remaining 2.5 years.
Restricted Stock Units
RSUs granted do not participate in earnings, dividends, and do not have voting rights until vested.
The following table summarizes activity of the Company’s RSUs for the three months ended March 31, 2024:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2023
729,213 $11.99 
Awards granted1,411,350 $13.34 
Awards vested and released(306,063)$11.34 
Awards forfeited(1,500)$13.54 
Unvested awards as of March 31, 2024
1,833,000 $13.14 
The total unrecognized compensation expenses related to 2020 Stock Plan RSUs as of March 31, 2024 was $20.3 million to be expensed on a straight-line basis over 2.4 years.
Performance Stock Units
The following table summarizes activity of the Company’s PSUs for the three months ended March 31, 2024:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2023(1)
822,895 $11.97 
Awards granted (2)
1,626,600 $14.51 
Performance achievement adjustment (3)
200,614 $14.21 
Awards vested and released(822,895)$11.97 
Unvested awards as of March 31, 2024
1,827,214 $14.48 
__________________________
(1)Reported at the certified performance achievement of 170% of the target shares granted.
(2)Reported of 100% of the target shares granted.
(3)Reported at the estimate performance achievement of 137% for the first tranche of the target shares granted in 2024.
The total estimated unrecognized compensation expenses related to 2020 Stock Plan PSUs as of March 31, 2024 was $22.7 million to be expensed over 1.9 years.
XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per share
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Earnings per share Earnings per share
Basic earnings per share (“EPS”) is computed by dividing the net income applicable to common stockholders for the period by the weighted average number of shares of common stock outstanding during the same period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of shares of common stock outstanding during the period increased to include the number of additional shares of common stock that would have been outstanding if the potentially dilutive securities had been issued. Potentially dilutive securities include outstanding stock options, restricted stock units, and performance stock units. The dilutive effect of potentially dilutive securities is reflected in diluted EPS in order of dilution and by application of the treasury stock method and the if-converted method for stock-based compensation and convertible preferred securities, respectively.
The following table sets forth the computation of basic and diluted EPS of common stock as follows:
Three Months Ended
March 31,
20242023
(in thousands,
except per share data)
Numerator for basic and diluted loss per share
Net loss
(3,948)(7,970)
Denominator for basic and diluted loss per share
Weighted-average shares outstanding – basic and diluted
76,15174,459
Net loss per share
Basic$(0.05)$(0.11)
Diluted$(0.05)$(0.11)
The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net loss per share attributable to common stockholders because including them would have had an anti-dilutive effect.
Three Months Ended
March 31,
20242023
(in thousands)
Stock options to purchase common stock4,616 4,697 
Restricted stock units1,962 2,221 
Performance stock units2,279 1,102 
Total8,857 8,020 
XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and geographic information
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Segment and geographic information Segment and geographic information
The Company’s business activities have similar economic characteristics and are similar in all of the following areas: the nature of services, the type or class of customer for which they provide their services, and the methods used to provide their services. In accordance with ASC Topic 280, Segment Reporting, the Company has determined it has single operating and reportable segments. This determination is consistent with the financial information regularly reviewed by the chief operating decision maker who assesses the Company’s performance and allocates resources based on the Company’s consolidated financial information.
Geographic Information
The following table presents revenues by customer location for the three months ended March 31, 2024 and 2023. The Company attributes customers to respective countries based upon location of the customer served. It differs from the prior period definition that was based upon location of the customer billed. Refer to Note 1 for more details on reclassifications.
Three Months Ended
March 31,
20242023
(in thousands)
United States$63,509 $59,761 
United Kingdom5,509 8,995 
Netherlands2,500 3,473 
Other8,299 7,851 
Total Revenues$79,817 $80,080 
Long-lived assets include property and equipment, net of accumulated depreciation and amortization. Physical locations and values of the Company’s long-lived assets are summarized below:
As of
March 31,
2024
December 31,
2023
(in thousands)
Serbia$2,575 $2,457 
United States2,498 2,174 
Ukraine2,496 2,437 
Poland1,875 1,522 
Other3,108 2,768 
Total$12,552 $11,358 
XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Commitments and contingencies
3 Months Ended
Mar. 31, 2024
Commitments and Contingencies Disclosure [Abstract]  
Commitments and contingencies Commitments and contingencies
Legal Matters
The Company is subject to legal proceedings and claims that arise in the ordinary course of its business. Management evaluates each claim and provides for potential loss when the claim is probable to be paid and reasonably estimable. While adverse decisions in certain of these litigation matters, claims and administrative proceedings could have a material effect on a particular period’s results of operations, subject to the uncertainties inherent in estimating future costs for contingent liabilities, management believes that any future accruals with respect to these currently known contingencies would not have a material effect on the financial condition, liquidity or cash flows of the Company. There were no material amounts required to be reflected in these unaudited condensed consolidated financial statements related to contingencies.
XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Subsequent events
3 Months Ended
Mar. 31, 2024
Subsequent Events [Abstract]  
Subsequent events Subsequent events
The Company performed its subsequent event procedures through May 2, 2024, the date these unaudited condensed consolidated financial statements were issued.
XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Pay vs Performance Disclosure    
Net loss $ (3,948) $ (7,970)
XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Insider Trading Arrangements
3 Months Ended
Mar. 31, 2024
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Nature of operations and summary of significant accounting policies (Policies)
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Nature of operations
Grid Dynamics Holdings, Inc. (the “Company”) is a leading provider of technology consulting, platform and product engineering, and advanced analytics services. The Company’s core business includes cloud platform and product engineering, supply chain and advanced manufacturing, and data and machine learning platform engineering. Grid Dynamics also helps organizations become more agile and create innovative digital products and experiences through its deep expertise in emerging technology, such as artificial intelligence (“AI”), data science, cloud computing, big data and DevOps, lean software development practices and a high-performance product culture. The Company’s headquarters and principal place of business is in San Ramon, California.
Basis of presentation
Basis of presentation
The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2023 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 29, 2024.
Principles of consolidation
Principles of consolidation
The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.
Principles of consolidation, variable interest entities
The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of March 31, 2024. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation. There was minimal activity in the Affiliate during the three months ended March 31, 2024.
Use of estimates
Use of estimates
The preparation of the unaudited condensed consolidated financial statements in accordance with the U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, valuation of stock-based compensation and contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.
Allowance for credit losses
Allowance for credit losses
The Company maintains an allowance against accounts receivable for the estimated probable losses on uncollectible accounts. The allowance is based upon historical loss experience, as adjusted for the current market conditions and forecasts about future economic conditions.
Stock-based compensation expense
Stock-based compensation
The Company recognizes the cost of its stock-based awards based on the fair value of these awards at the date of grant. The fair value of service-based and performance based awards without market conditions at the date of grant is based on the closing price of the Company’s shares on NASDAQ. For performance awards with market conditions the grant date fair value is measured using the Monte-Carlo model. Grant-date fair value of stock options is estimated using the Black-Scholes-Merton option pricing model. The model requires management to make a number of key assumptions including expected volatility, expected term, risk-free interest rate, and expected dividends. The Company evaluates the assumptions used to value its share-based awards on each grant date. For an award with graded vesting that is subject only to a service condition (e.g., time-based vesting), the Company uses the straight-line attribution method under ASC Topic 718 under which it recognizes compensation cost on a straight-line basis over the total requisite service period for the entire award (i.e., over the requisite service period of the last separately-vesting tranche of the award). For awards with performance conditions the compensation cost recognized is based on the actual or expected achievement of the performance condition based on the graded attribution method. Additionally, the Company applies the “floor” concept so that the amount of compensation cost that is recognized as of any date is at least equal to the grant-date fair value of the vested portion of the award on that date. That is, if the straight-line expense recognized to date is less than the grant date fair value of the award that is legally vested at that date, the company will increase its recognized expense to at least equal the fair value of the vested amount. The requisite service period, which is the vesting period, of service-based and performance-based awards is typically 4 years and 3 years, respectively. The Company made an accounting policy election to account for forfeitures when they occur.
Prior period reclassifications
Prior period reclassifications
The Company presented and analyzed its revenues by customer locations attributing revenues based upon billed customer location. Effective December 31, 2023, the Company attributes revenues to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. The Company believes this change allows it to more effectively analyze its geographies and associated risks. This change did not result in any adjustments to our previously issued financial statements and were applied retrospectively beginning on January 1, 2021. Comparative information for the three months ended March 31, 2023 is presented in the following table:
Three Months Ended
March 31, 2023
As reported
Reclassified
Customer Location(in thousands)
North America$63,949 $60,137 
Europe15,894 15,908 
Other237 4,035 
Total Revenues$80,080 $80,080 
Recently adopted accounting pronouncements and recently issued accounting pronouncements
Recently adopted accounting pronouncements
Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies.
There were no recently adopted accounting standards which had a material impact on the Company’s consolidated financial position, results of operations, changes in stockholders’ equity and cash flows.
Recently issued accounting pronouncements
On November 2023, the FASB issued ASU 2023-07, Segment Reporting (Topic 280) Improvements to Reportable Segment Disclosures, that expands disclosures requirements around significant segment expenses and other segment items that are included in reported measure of segment profit or loss. The guidance also requires entities to provide in their interim financial reports all disclosures about a reportable segment’s profit or loss and assets that are currently required only on annual basis. Guidance also obliges entities with a single reportable segment to provide all the disclosures under amended ASC 280 in their interim and annual financial statement. The new guidance is effective for annual reporting periods beginning after December 15, 2023, and interim reporting periods within fiscal years beginning after December 15, 2024 on a retrospective basis, The Company is currently evaluating the impact on this guidance on its consolidated financial statements.
On December 14, 2023, the FASB issued ASU 2023-09, Improvements to Income Tax Disclosures (Topic 740) Improvements to Income Tax Disclosures, which expands annual disclosure requirements around income taxes primarily related to the rate reconciliation and income taxes paid. The new guidance is effective for annual reporting periods beginning after December 15, 2024 with early adoption permitted. The guidance will be applied on a prospective basis with a retrospective application option. The Company is currently evaluating the impact on this guidance on its consolidated financial statements.
XML 36 R25.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair Value Measures and Disclosures (Policies)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Investments in equity securities
Investments in equity securities
The Company holds investments in public and privately-held entities. As the Company does not have either controlling interest or significant influence over these entities investments are accounted using two different methods depending on the type of equity investments:
Equity investments in public entities are measured and carried at fair value with any changes recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.
Equity investments that do not have readily determinable fair value are accounted for under the fair value measurement alternative. Under the measurement alternative, the carrying value is measured at cost, less any impairment, plus or minus changes resulting from observable price changes in orderly transactions for identical or similar investments of the same issuer. All gains and losses on non-marketable securities, whether realized or unrealized, are recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.
The Company classifies its investments in equity securities in Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets.
XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Nature of operations and summary of significant accounting policies (Tables)
3 Months Ended
Mar. 31, 2024
Accounting Policies [Abstract]  
Schedule of Reclassifications Comparative information for the three months ended March 31, 2023 is presented in the following table:
Three Months Ended
March 31, 2023
As reported
Reclassified
Customer Location(in thousands)
North America$63,949 $60,137 
Europe15,894 15,908 
Other237 4,035 
Total Revenues$80,080 $80,080 
XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions (Tables)
3 Months Ended
Mar. 31, 2024
Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract]  
Schedule of business acquisition, assets acquired and liabilities assumed
The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:
NextSphereMutual Mobile
(in thousands)
Current assets$9,708 $4,982 
Property, plant and equipment192 132 
Intangible assets9,906 3,749 
Goodwill9,031 8,879 
Other noncurrent assets511 102 
Total assets acquired$29,348 $17,844 
Accounts payable, accrued expenses and other liabilities(1,990)(1,576)
Deferred taxes(2,427)(686)
Total liabilities assumed$(4,417)$(2,262)
Purchase price allocation$24,931 $15,582 
Schedule of business acquisition, finite-lived intangibles
The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of March 31, 2024 are as follows:
NextSphereMutual Mobile
Fair ValueUseful LifeFair ValueUseful Life
(in thousands, except years)
Customer relationships$8,415 10 years$3,453 8 years
Acquired software995 2.5 years— 
Trade name496 2 years152 4 years
Non-compete agreements— 144 2 years
Total identified intangible assets$9,906 $3,749 
XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair value (Tables)
3 Months Ended
Mar. 31, 2024
Fair Value Disclosures [Abstract]  
Fair Value Measurements, Recurring and Nonrecurring The following table summarizes certain fair value information as of March 31, 2024 and December 31, 2023 for financial assets and liabilities measured at fair value on a recurring basis, as well as estimated fair values of certain other financial assets and liabilities not measured on a recurring basis:
Fair Value Hierarchy
BalanceEstimated Fair ValueLevel 1Level 2Level 3
(in thousands)
March 31, 2024
Financial Assets:
Cash equivalents:
Money market funds
$206,363 $206,363 $206,363 $— $— 
Short-term investments:
Time deposits$739 $739 $— $739 $— 
Long-term investments:
Marketable equity securities
$731 $731 $731 $— $— 
Non-marketable equity securities
$1,250 
December 31, 2023
Financial Assets:
Cash equivalents:
Money market funds
$204,388 $204,388 $204,388 $— $— 
Long-term investments:
Marketable equity securities
$421 $421 $421 $— $— 
Non-marketable equity securities
$1,250 
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and equipment, net (Tables)
3 Months Ended
Mar. 31, 2024
Property, Plant and Equipment [Abstract]  
Schedule of property and equipment
Property and equipment, net consisted of the following:
Estimated
Useful
Life
As of
March 31,
2024
December 31,
2023
(in years)(in thousands)
Computers and equipment
2-6
$14,224 $13,837 
Furniture and fixtures
3-10
1,558 1,732 
Leasehold improvements
2-8
1,338 1,343 
Software
3-5
1,236 1,236 
Machinery and automobiles
4-6
581 570 
$18,937 $18,718 
Less: Accumulated depreciation and amortization(12,908)(12,441)
$6,029 $6,277 
Capitalized software development costs
2
$11,472 $9,050 
Less: Accumulated amortization(4,949)(3,969)
$6,523 $5,081 
Property and equipment, net$12,552 $11,358 
XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible assets, net (Tables)
3 Months Ended
Mar. 31, 2024
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible assets
Intangible assets, net consisted of the following:
Estimated
Useful
Life
As of
March 31,
2024
December 31,
2023
(in years)(in thousands)
Customer relationships
8-12
$27,839 $27,839 
Tradenames
2-10
5,324 5,324 
Acquired software2.5995 995 
Non-compete agreements2584 584 
$34,742 $34,742 
Less: Accumulated amortization(9,211)(8,196)
Intangible assets, net$25,531 $26,546 
Schedule of Estimated amortization expense
Based on the carrying value of the Company’s existing intangible assets as of March 31, 2024, the estimated amortization expense for the future years is as follows:
Amount
(in thousands)
2024 (excluding three months ended March 31, 2024)
3,035 
20253,625 
20263,168 
20273,130 
20283,107 
Thereafter9,466 
Total$25,531 
XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued expenses and other current liabilities (Tables)
3 Months Ended
Mar. 31, 2024
Payables and Accruals [Abstract]  
Schedule of accrued expenses and other current liabilities
The components of accrued expenses and other current liabilities were as follows:
As of
March 31,
2024
December 31, 2023
(in thousands)
Accrued expenses$3,564 $2,943 
Customer deposits718 756 
Deferred revenue610 577 
Value added tax payable444 993 
Other liabilities549 1,007 
Total accrued expenses and other current liabilities$5,885 $6,276 
XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues (Tables)
3 Months Ended
Mar. 31, 2024
Revenue from Contract with Customer [Abstract]  
Disaggregation of Revenue
The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. Substantially all of the revenue in our North America region relates to operations in the United States.
Three Months Ended
March 31,
20242023
Customer Location(in thousands)
North America$63,740 $60,137 
Europe13,402 15,908 
Other2,675 4,035 
Total Revenues$79,817 $80,080 
The following table shows the disaggregation of the Company’s revenues by main vertical markets:
Three Months Ended
March 31,
20242023
Vertical(in thousands)
Retail$24,629 $25,396 
Technology, Media and Telecom24,033 26,811 
Finance10,243 6,515 
CPG/Manufacturing(1)
9,559 12,646 
Healthcare and Pharma
3,009 3,152 
Other8,344 5,560 
Total Revenues$79,817 $80,080 
__________________________
(1)CPG stands for Consumer Packaged Goods
The following table shows the disaggregation of the Company’s revenues by contract types:
Three Months Ended
March 31,
20242023
Contract Type(in thousands)
Time-and-material$74,820 $70,526 
Fixed-fee4,412 9,554 
Other revenues585 — 
Total Revenues$79,817 $80,080 
Schedules of Concentration of Risk, by Risk Factor
The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue:
Three Months Ended
March 31,
20242023
Customer 116.7 %13.9 %
The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:
As of
March 31,
2024
December 31,
2023
Accounts receivable11
Unbilled receivable32
XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases (Tables)
3 Months Ended
Mar. 31, 2024
Leases [Abstract]  
Schedule of Lease Cost and Supplemental Lease Information
Operating lease expense is recorded on a straight-line basis over the lease term. During the three months ended March 31, 2024 and 2023 lease costs were as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Operating lease cost$1,193 $781 
Variable lease cost76 194 
Short-term lease cost54 98 
Total lease cost$1,323 $1,073 
Supplemental information related to operating lease transactions is as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Lease liability payments$1,168 $727 
Lease assets obtained in exchange for liabilities$853 $1,022 
Non-cash net change in lease assets due to lease modifications$40 $— 
Non-cash net change in lease liability due to lease modifications$(40)$— 
Weighted average remaining lease term and discount rate as of March 31, 2024 and December 31, 2023 is as follows:
As of
March 31,
2024
December 31,
2023
Weighted average remaining lease term, in years3.23.4
Weighted average discount rate7.2 %7.0 %
Schedule of Operating Lease Maturities
As of March 31, 2024, operating lease liabilities will mature as follows:
Lease Payments
(in thousands)
2024 (excluding three months ended March 31, 2024)
$3,461 
20253,700 
20262,331 
20272,015 
2028285 
Thereafter268 
Total lease payments12,060 
Less: imputed interest(1,403)
Total$10,657 
XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation (Tables)
3 Months Ended
Mar. 31, 2024
Share-Based Payment Arrangement [Abstract]  
Schedule of stock-based compensation
Employee stock-based compensation cost recognized in the condensed consolidated statements of loss and comprehensive loss was as follows:
Three Months Ended
March 31,
20242023
(in thousands)
Cost of revenue$482 $460 
Engineering, research, and development1,288 1,653 
Sales and marketing1,677 1,055 
General and administrative7,892 10,089 
Total stock-based compensation$11,339 $13,257 
Schedule of option activity
Stock option activity under the Company’s 2018 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2023
1,486,428 $3.54 $14,552 
Options exercised(65,533)$3.54 
Options outstanding as of March 31, 2024
1,420,895 $3.54 $12,433 4.8
Options vested and exercisable as of March 31, 2024
1,420,895 $3.54 $12,433 4.8
Stock option activity under the Company’s 2020 Plan is set forth below:
Number of OptionsWeighted Average Exercise PriceAggregate Intrinsic Value (in thousands)Weighted Average Contractual Term
(in years)
Options outstanding as of December 31, 2023
3,165,715 $12.79 $7,197 
Options granted19,000 $13.54 
Options exercised(3,587)$7.90 
Options forfeited(43,175)$14.75 
Options expired(27,541)$17.46 
Options outstanding as of March 31, 2024
3,110,412 $12.73 $5,066 7.3
Options vested and exercisable as of March 31, 2024
1,834,453 $11.73 $4,470 6.5
Schedule of restricted stock unit activity
The following table summarizes activity of the Company’s RSUs for the three months ended March 31, 2024:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2023
729,213 $11.99 
Awards granted1,411,350 $13.34 
Awards vested and released(306,063)$11.34 
Awards forfeited(1,500)$13.54 
Unvested awards as of March 31, 2024
1,833,000 $13.14 
Schedule of performance share activity
The following table summarizes activity of the Company’s PSUs for the three months ended March 31, 2024:
Number of SharesWeighted Average Grant Date Fair Value
Unvested awards as of December 31, 2023(1)
822,895 $11.97 
Awards granted (2)
1,626,600 $14.51 
Performance achievement adjustment (3)
200,614 $14.21 
Awards vested and released(822,895)$11.97 
Unvested awards as of March 31, 2024
1,827,214 $14.48 
__________________________
(1)Reported at the certified performance achievement of 170% of the target shares granted.
(2)Reported of 100% of the target shares granted.
(3)Reported at the estimate performance achievement of 137% for the first tranche of the target shares granted in 2024.
XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per share (Tables)
3 Months Ended
Mar. 31, 2024
Earnings Per Share [Abstract]  
Schedule of Computation of Basic and Diluted Earnings Per Share
The following table sets forth the computation of basic and diluted EPS of common stock as follows:
Three Months Ended
March 31,
20242023
(in thousands,
except per share data)
Numerator for basic and diluted loss per share
Net loss
(3,948)(7,970)
Denominator for basic and diluted loss per share
Weighted-average shares outstanding – basic and diluted
76,15174,459
Net loss per share
Basic$(0.05)$(0.11)
Diluted$(0.05)$(0.11)
Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share
The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net loss per share attributable to common stockholders because including them would have had an anti-dilutive effect.
Three Months Ended
March 31,
20242023
(in thousands)
Stock options to purchase common stock4,616 4,697 
Restricted stock units1,962 2,221 
Performance stock units2,279 1,102 
Total8,857 8,020 
XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and geographic information (Tables)
3 Months Ended
Mar. 31, 2024
Segment Reporting [Abstract]  
Schedule of revenues by customer location
The following table presents revenues by customer location for the three months ended March 31, 2024 and 2023. The Company attributes customers to respective countries based upon location of the customer served. It differs from the prior period definition that was based upon location of the customer billed. Refer to Note 1 for more details on reclassifications.
Three Months Ended
March 31,
20242023
(in thousands)
United States$63,509 $59,761 
United Kingdom5,509 8,995 
Netherlands2,500 3,473 
Other8,299 7,851 
Total Revenues$79,817 $80,080 
Schedule of long-lived assets, net of accumulated depreciation and amortization
Long-lived assets include property and equipment, net of accumulated depreciation and amortization. Physical locations and values of the Company’s long-lived assets are summarized below:
As of
March 31,
2024
December 31,
2023
(in thousands)
Serbia$2,575 $2,457 
United States2,498 2,174 
Ukraine2,496 2,437 
Poland1,875 1,522 
Other3,108 2,768 
Total$12,552 $11,358 
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Nature of operations and summary of significant accounting policies - Allowance (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Accounting Policies [Abstract]    
Allowance for doubtful accounts $ 1,389 $ 1,363
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Nature of operations and summary of significant accounting policies - Stock-based compensation (Details)
3 Months Ended
Mar. 31, 2024
Restricted stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Requisite service period 4 years
Performance stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Requisite service period 3 years
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Nature of operations and summary of significant accounting policies - Prior period reclassifications (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Reclassification [Line Items]    
Revenues $ 79,817 $ 80,080
As reported    
Reclassification [Line Items]    
Revenues   80,080
North America    
Reclassification [Line Items]    
Revenues 63,740 60,137
North America | As reported    
Reclassification [Line Items]    
Revenues   63,949
Europe    
Reclassification [Line Items]    
Revenues 13,402 15,908
Europe | As reported    
Reclassification [Line Items]    
Revenues   15,894
Other    
Reclassification [Line Items]    
Revenues $ 2,675 4,035
Other | As reported    
Reclassification [Line Items]    
Revenues   $ 237
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions - Narrative (Details)
$ in Millions
3 Months Ended
Apr. 18, 2023
USD ($)
Dec. 23, 2022
USD ($)
employee
Dec. 31, 2023
USD ($)
NextSphere      
Business Acquisition [Line Items]      
Percentage of voting interests acquired 100.00%    
Consideration transferred $ 25.2    
Payments to acquire business 24.3    
Contingent consideration 0.9    
Maximum contingent consideration $ 2.0    
Estimated future operating results period 12 months    
Original purchase price adjustment     $ (0.3)
Adjustment to deferred taxes     (0.2)
Adjustment to goodwill     (0.1)
Mutual Mobile      
Business Acquisition [Line Items]      
Percentage of voting interests acquired   100.00%  
Number of employees acquired | employee   180  
Consideration transferred   $ 16.1  
Payments to acquire business   12.8  
Contingent consideration   3.3  
Maximum contingent consideration   $ 5.0  
Estimated future operating results period   12 months  
Original purchase price adjustment     (0.5)
Adjustment to deferred taxes     0.2
Adjustment to goodwill     $ (0.7)
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions - Assets acquired and liabilities assumed (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Apr. 18, 2023
Dec. 23, 2022
Business Acquisition [Line Items]        
Goodwill $ 53,868 $ 53,868    
NextSphere        
Business Acquisition [Line Items]        
Current assets     $ 9,708  
Property, plant and equipment     192  
Intangible assets 9,906   9,906  
Goodwill     9,031  
Other noncurrent assets     511  
Total assets acquired     29,348  
Accounts payable, accrued expenses and other liabilities     (1,990)  
Deferred taxes     (2,427)  
Total liabilities assumed     (4,417)  
Purchase price allocation     24,931  
Cash and cash equivalents     $ 6,400  
Mutual Mobile        
Business Acquisition [Line Items]        
Current assets       $ 4,982
Property, plant and equipment       132
Intangible assets $ 3,749     3,749
Goodwill       8,879
Other noncurrent assets       102
Total assets acquired       17,844
Accounts payable, accrued expenses and other liabilities       (1,576)
Deferred taxes       (686)
Total liabilities assumed       (2,262)
Purchase price allocation       15,582
Cash and cash equivalents       $ 3,500
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Acquisitions - Intangible assets acquired (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Apr. 18, 2023
Dec. 23, 2022
Acquired software      
Business Acquisition [Line Items]      
Useful Life 2 years 6 months    
Non-compete agreements      
Business Acquisition [Line Items]      
Useful Life 2 years    
NextSphere      
Business Acquisition [Line Items]      
Fair Value $ 9,906 $ 9,906  
NextSphere | Customer relationships      
Business Acquisition [Line Items]      
Fair Value $ 8,415    
Useful Life 10 years    
NextSphere | Acquired software      
Business Acquisition [Line Items]      
Fair Value $ 995    
Useful Life 2 years 6 months    
NextSphere | Trade name      
Business Acquisition [Line Items]      
Fair Value $ 496    
Useful Life 2 years    
NextSphere | Non-compete agreements      
Business Acquisition [Line Items]      
Fair Value $ 0    
Mutual Mobile      
Business Acquisition [Line Items]      
Fair Value 3,749   $ 3,749
Mutual Mobile | Customer relationships      
Business Acquisition [Line Items]      
Fair Value $ 3,453    
Useful Life 8 years    
Mutual Mobile | Acquired software      
Business Acquisition [Line Items]      
Fair Value $ 0    
Mutual Mobile | Trade name      
Business Acquisition [Line Items]      
Fair Value $ 152    
Useful Life 4 years    
Mutual Mobile | Non-compete agreements      
Business Acquisition [Line Items]      
Fair Value $ 144    
Useful Life 2 years    
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Fair value - Schedule of Fair Value Information for Financial Assets and Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Money market funds | Reported Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents $ 206,363 $ 204,388
Money market funds | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 206,363 204,388
Time deposits | Reported Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Short-term investments 739  
Time deposits | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Short-term investments 739  
Equity securities | Reported Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable equity securities 731 421
Non-marketable equity securities 1,250 1,250
Equity securities | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable equity securities 731 421
Level 1 | Money market funds | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 206,363 204,388
Level 1 | Time deposits | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Short-term investments 0  
Level 1 | Equity securities | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable equity securities 731 421
Level 2 | Money market funds | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 0 0
Level 2 | Time deposits | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Short-term investments 739  
Level 2 | Equity securities | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable equity securities 0 0
Level 3 | Money market funds | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Cash equivalents 0 0
Level 3 | Time deposits | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Short-term investments 0  
Level 3 | Equity securities | Estimate of Fair Value Measurement    
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]    
Marketable equity securities $ 0 $ 0
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Property and Equipment, net (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Property, Plant and Equipment [Line Items]    
Property and equipment, net $ 12,552 $ 11,358
Property, Plant and Equipment, Excluding Capitalized Software Costs    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross 18,937 18,718
Less: Accumulated depreciation and amortization (12,908) (12,441)
Property and equipment, net 6,029 6,277
Computers and equipment    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 14,224 13,837
Computers and equipment | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 2 years  
Computers and equipment | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 6 years  
Furniture and fixtures    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 1,558 1,732
Furniture and fixtures | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 3 years  
Furniture and fixtures | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 10 years  
Leasehold improvements    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 1,338 1,343
Leasehold improvements | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 2 years  
Leasehold improvements | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 8 years  
Software    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 1,236 1,236
Software | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 3 years  
Software | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 5 years  
Machinery and automobiles    
Property, Plant and Equipment [Line Items]    
Property and equipment, gross $ 581 570
Machinery and automobiles | Minimum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 4 years  
Machinery and automobiles | Maximum    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 6 years  
Capitalized software development costs    
Property, Plant and Equipment [Line Items]    
Estimated Useful Life 2 years  
Property and equipment, gross $ 11,472 9,050
Less: Accumulated depreciation and amortization (4,949) (3,969)
Property and equipment, net $ 6,523 $ 5,081
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible assets, net - Summary of Intangible Assets (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 34,742 $ 34,742
Less: Accumulated amortization (9,211) (8,196)
Intangible assets, net 25,531 26,546
Customer relationships    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 27,839 27,839
Customer relationships | Minimum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 8 years  
Customer relationships | Maximum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 12 years  
Tradenames    
Finite-Lived Intangible Assets [Line Items]    
Intangible assets, gross $ 5,324 5,324
Tradenames | Minimum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 2 years  
Tradenames | Maximum    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 10 years  
Acquired software    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 2 years 6 months  
Intangible assets, gross $ 995 995
Non-compete agreements    
Finite-Lived Intangible Assets [Line Items]    
Estimated Useful Life 2 years  
Intangible assets, gross $ 584 $ 584
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Intangible assets, net - Future Amortization Expenses (Detail) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Goodwill and Intangible Assets Disclosure [Abstract]    
2024 (excluding three months ended March 31, 2024) $ 3,035  
2025 3,625  
2026 3,168  
2027 3,130  
2028 3,107  
Thereafter 9,466  
Intangible assets, net $ 25,531 $ 26,546
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Payables and Accruals [Abstract]    
Accrued expenses $ 3,564 $ 2,943
Customer deposits 718 756
Deferred revenue 610 577
Value added tax payable 444 993
Other liabilities 549 1,007
Total accrued expenses and other current liabilities $ 5,885 $ 6,276
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Accrued expenses and other current liabilities - Narrative (Details) - USD ($)
$ in Millions
Mar. 31, 2024
Dec. 31, 2023
Related Party    
Related Party Transaction [Line Items]    
Payable $ 0.0 $ 0.6
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Debt - Narrative (Details) - USD ($)
$ in Millions
Mar. 15, 2022
Mar. 31, 2024
Dec. 31, 2023
Line of Credit Facility [Line Items]      
Debt outstanding   $ 0.0 $ 0.0
Base Rate | Minimum      
Line of Credit Facility [Line Items]      
Basis spread on variable rate 1.00%    
Base Rate | Maximum      
Line of Credit Facility [Line Items]      
Basis spread on variable rate 1.50%    
SOFR Or Adjusted EURIBOR Rate | Minimum      
Line of Credit Facility [Line Items]      
Basis spread on variable rate 2.00%    
SOFR Or Adjusted EURIBOR Rate | Maximum      
Line of Credit Facility [Line Items]      
Basis spread on variable rate 2.50%    
Daily Simple SOFR, SONIA, Or SARON Rate | Minimum      
Line of Credit Facility [Line Items]      
Basis spread on variable rate 2.00%    
Daily Simple SOFR, SONIA, Or SARON Rate | Maximum      
Line of Credit Facility [Line Items]      
Basis spread on variable rate 2.50%    
Revolving Credit Facility      
Line of Credit Facility [Line Items]      
Line of credit, maximum borrowing capacity $ 30.0    
Contingent maximum borrowing capacity 50.0    
Letter of Credit      
Line of Credit Facility [Line Items]      
Line of credit, maximum borrowing capacity $ 10.0    
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Narrative (Details) - segment
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenue from Contract with Customer [Abstract]    
Number of reportable segments 1 1
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Disaggregation of Revenue [Line Items]    
Total Revenues $ 79,817 $ 80,080
Time-and-material    
Disaggregation of Revenue [Line Items]    
Total Revenues 74,820 70,526
Fixed-fee    
Disaggregation of Revenue [Line Items]    
Total Revenues 4,412 9,554
Other revenues    
Disaggregation of Revenue [Line Items]    
Total Revenues 585 0
Retail    
Disaggregation of Revenue [Line Items]    
Total Revenues 24,629 25,396
Technology, Media and Telecom    
Disaggregation of Revenue [Line Items]    
Total Revenues 24,033 26,811
Finance    
Disaggregation of Revenue [Line Items]    
Total Revenues 10,243 6,515
CPG/Manufacturing(1)    
Disaggregation of Revenue [Line Items]    
Total Revenues 9,559 12,646
Healthcare and Pharma    
Disaggregation of Revenue [Line Items]    
Total Revenues 3,009 3,152
Other    
Disaggregation of Revenue [Line Items]    
Total Revenues 8,344 5,560
North America    
Disaggregation of Revenue [Line Items]    
Total Revenues 63,740 60,137
Europe    
Disaggregation of Revenue [Line Items]    
Total Revenues 13,402 15,908
Other    
Disaggregation of Revenue [Line Items]    
Total Revenues $ 2,675 $ 4,035
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Contract Balances (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]      
Contract assets $ 0.0   $ 0.0
Contract liabilities 0.6   $ 0.6
Revenues recognized $ 0.3 $ 0.4  
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Remaining Performance Obligations (Details)
$ in Millions
Mar. 31, 2024
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligations $ 4.7
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Percentage of remaining performance obligation expected to be recognized 50.30%
Expected timing of satisfaction of remaining performance obligation 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Percentage of remaining performance obligation expected to be recognized 49.70%
Expected timing of satisfaction of remaining performance obligation 1 year
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Concentration Risk (Details) - Customer Concentration Risk - customer
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Sales | Customer 1      
Disaggregation of Revenue [Line Items]      
Concentration risk percentage 16.70% 13.90%  
Accounts receivable      
Disaggregation of Revenue [Line Items]      
Number of major customers 1   1
Unbilled receivable      
Disaggregation of Revenue [Line Items]      
Number of major customers 3   2
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Revenues - Related Parties (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Dec. 31, 2023
Related Party Transaction [Line Items]      
Revenues $ 79,817 $ 80,080  
Accounts receivable 53,039   $ 49,824
Related Party      
Related Party Transaction [Line Items]      
Revenues 2,800 $ 1,800  
Accounts receivable $ 1,900   $ 900
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Narrative (Details)
$ in Millions
Mar. 31, 2024
USD ($)
Lessee, Lease, Description [Line Items]  
Operating lease commitments $ 0.4
Lease contracts not yet commenced, term 6 years 2 months 12 days
Minimum  
Lessee, Lease, Description [Line Items]  
Operating lease, remaining term 1 month 6 days
Maximum  
Lessee, Lease, Description [Line Items]  
Operating lease, remaining term 6 years 2 months 12 days
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Lease Cost (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Leases [Abstract]    
Operating lease cost $ 1,193 $ 781
Variable lease cost 76 194
Short-term lease cost 54 98
Total lease cost $ 1,323 $ 1,073
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Schedule of Supplemental Lease Information (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Leases [Abstract]    
Lease liability payments $ 1,168 $ 727
Lease assets obtained in exchange for liabilities 853 1,022
Non-cash net change in lease assets due to lease modifications 40 0
Non-cash net change in lease liability due to lease modifications $ (40) $ 0
Weighted average remaining lease term, in years 3 years 2 months 12 days 3 years 4 months 24 days
Weighted average discount rate 7.20% 7.00%
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Leases - Operating Lease Maturities (Details)
$ in Thousands
Mar. 31, 2024
USD ($)
Leases [Abstract]  
2024 (excluding three months ended March 31, 2024) $ 3,461
2025 3,700
2026 2,331
2027 2,015
2028 285
Thereafter 268
Total lease payments 12,060
Less: imputed interest (1,403)
Total $ 10,657
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Income taxes (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Income Tax Disclosure [Abstract]    
Income tax expense (benefit) $ 931 $ 3,660
Effective tax rate, percentage (30.90%) (84.90%)
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation $ 11,339 $ 13,257
Cost of revenue    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation 482 460
Engineering, research, and development    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation 1,288 1,653
Sales and marketing    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation 1,677 1,055
General and administrative    
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]    
Total stock-based compensation $ 7,892 $ 10,089
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation - Narrative (Details)
shares in Millions, $ in Millions
3 Months Ended
Mar. 31, 2024
USD ($)
shares
Restricted stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized compensation expense, excluding options $ 20.3
Period for recognition 2 years 4 months 24 days
Performance stock units  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Unrecognized compensation expense, excluding options $ 22.7
Period for recognition 1 year 10 months 24 days
2020 Plan  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Remaining shares available for grant (in shares) | shares 1.9
Unrecognized compensation expense, options $ 7.7
2020 Plan | Stock options  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Period for recognition 2 years 6 months
XML 74 R63.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation - Schedule of option activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Weighted Average Exercise Price    
Options expired (in dollars per share) $ 17.46  
Performance stock units    
Number of Options    
Options exercised (in shares) (27,541)  
2018 Plan    
Number of Options    
Options outstanding, beginning balance (in shares) 1,486,428  
Options exercised (in shares) (65,533)  
Options outstanding, ending balance (in shares) 1,420,895  
Options vested and exercisable (in shares) 1,420,895  
Weighted Average Exercise Price    
Options outstanding, beginning balance (in dollars per share) $ 3.54  
Options exercised (in dollars per share) 3.54  
Option outstanding, ending balance (in dollars per share) 3.54  
Options vested and exercisable (in dollars per share) $ 3.54  
Aggregate Intrinsic Value and Weighted Average Contractual Term (in years)    
Options outstanding, aggregate intrinsic value $ 12,433 $ 14,552
Options vested and exercisable, aggregate intrinsic value $ 12,433  
Options outstanding, weighted average contractual term (in years) 4 years 9 months 18 days  
Options vested and exercisable, weighted average contractual term (in years) 4 years 9 months 18 days  
2020 Plan    
Number of Options    
Options outstanding, beginning balance (in shares) 3,165,715  
Options granted (in shares) 19,000  
Options exercised (in shares) (3,587)  
Options forfeited (in shares) (43,175)  
Options outstanding, ending balance (in shares) 3,110,412  
Options vested and exercisable (in shares) 1,834,453  
Weighted Average Exercise Price    
Options outstanding, beginning balance (in dollars per share) $ 12.79  
Options granted (in dollars per share) 13.54  
Options exercised (in dollars per share) 7.90  
Options forfeited (in dollars per share) 14.75  
Option outstanding, ending balance (in dollars per share) 12.73  
Options vested and exercisable (in dollars per share) $ 11.73  
Aggregate Intrinsic Value and Weighted Average Contractual Term (in years)    
Options outstanding, aggregate intrinsic value $ 5,066 $ 7,197
Options vested and exercisable, aggregate intrinsic value $ 4,470  
Options outstanding, weighted average contractual term (in years) 7 years 3 months 18 days  
Options vested and exercisable, weighted average contractual term (in years) 6 years 6 months  
XML 75 R64.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details) - $ / shares
3 Months Ended
Mar. 31, 2024
Dec. 31, 2023
Weighted Average Grant Date Fair Value    
Performance factor percentage   170.00%
Awards granted, period performance factor percentage 100.00%  
Year 2024    
Weighted Average Grant Date Fair Value    
Performance achievement adjustment, period performance factor 137.00%  
Restricted stock units    
Number of Shares    
Outstanding, beginning balance (in shares) 729,213  
Granted (in shares) 1,411,350  
Vested and released (in shares) (306,063)  
Forfeited (in shares) (1,500)  
Outstanding, ending balance (in shares) 1,833,000  
Weighted Average Grant Date Fair Value    
Outstanding, beginning balance (in dollars per share) $ 11.99  
Granted (in dollars per share) 13.34  
Vested and released (in dollars per share) 11.34  
Forfeited (in dollars per share) 13.54  
Outstanding, ending balance (in dollars per share) $ 13.14  
Performance stock units    
Number of Shares    
Outstanding, beginning balance (in shares) 822,895  
Granted (in shares) 1,626,600  
Performance achievement adjustment (in shares) 200,614  
Vested and released (in shares) (822,895)  
Outstanding, ending balance (in shares) 1,827,214  
Weighted Average Grant Date Fair Value    
Outstanding, beginning balance (in dollars per share) $ 11.97  
Granted (in dollars per share) 14.51  
Performance achievement adjustment (in dollars per share) 14.21  
Vested and released (in dollars per share) 11.97  
Outstanding, ending balance (in dollars per share) $ 14.48  
XML 76 R65.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Numerator for basic and diluted loss per share    
Net loss $ (3,948) $ (7,970)
Weighted average number of shares outstanding - basic (in shares) 76,151 74,459
Weighted average number of shares outstanding - diluted (in shares) 76,151 74,459
Net loss per share    
Basic (in dollars per share) $ (0.05) $ (0.11)
Diluted (in dollars per share) $ (0.05) $ (0.11)
XML 77 R66.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) - shares
shares in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive securities excluded from computation of earnings per share (in shares) 8,857 8,020
Stock options to purchase common stock    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive securities excluded from computation of earnings per share (in shares) 4,616 4,697
Restricted stock units    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive securities excluded from computation of earnings per share (in shares) 1,962 2,221
Performance stock units    
Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]    
Antidilutive securities excluded from computation of earnings per share (in shares) 2,279 1,102
XML 78 R67.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and geographic information - Narrative (Details) - segment
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Segment Reporting [Abstract]    
Number of Operating Segments 1 1
Number of Reportable Segments 1 1
XML 79 R68.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and geographic information - Schedule of revenues by customer location (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2024
Mar. 31, 2023
Revenues from External Customers and Long-Lived Assets [Line Items]    
Revenues $ 79,817 $ 80,080
United States    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Revenues 63,509 59,761
United Kingdom    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Revenues 5,509 8,995
Netherlands    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Revenues 2,500 3,473
Other    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Revenues $ 8,299 $ 7,851
XML 80 R69.htm IDEA: XBRL DOCUMENT v3.24.1.u1
Segment and geographic information - Schedule of long-lived assets by physical location (Details) - USD ($)
$ in Thousands
Mar. 31, 2024
Dec. 31, 2023
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-Lived Assets $ 12,552 $ 11,358
Serbia    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-Lived Assets 2,575 2,457
Ukraine    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-Lived Assets 2,496 2,437
United States    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-Lived Assets 2,498 2,174
Poland    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-Lived Assets 1,875 1,522
Other    
Revenues from External Customers and Long-Lived Assets [Line Items]    
Long-Lived Assets $ 3,108 $ 2,768
EXCEL 81 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( !B$HE@'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 " 8A*)8$5*)'>X K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)O)TW50^CVHGA2$%Q0O(5D=C?8_"$9:??M3>MN%]$'$'+)S"_? M? /I=)0Z)'Q.(6(BB_EJ\?$S#0O,:, !'7K*T-0-L'Z> M&(_3T,$%,,,(D\O?!30K<:G^B5TZP$[)*=LU-8YC/;9+KNS0P-O3X\NR;F5] M)N4UEE?92CI&W+#SY-?V[G[[P'K!Q77%;RHNMH++5I3S/KO^\+L(NV#LSOYC MX[-@W\&O?]%_ 5!+ P04 " 8A*)8F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M !B$HE@[4K#3[04 ,,? 8 >&PO=V]R:W-H965T&UL MM9EK<^(V&(7_BH9V.NU,B&V96[:$&4(NF^ENE@UI.]M./RBV $]LRY5E"/^^ MKPS8)"._N)[E2^+;.>C1Q3J6AFLA7](EYXJ\1F&<7K:62B4?+"OUECQBZ;E( M> QWYD)&3,&I7%AI(CGSU;$@K@U&N;7IG(T%)D*@YA/)4FS*&)R M<\5#L;YL.:W]A<=@L53Z@C4:)FS!9US]GDPEG%F%BQ]$/$X#$1/)YY>ML?-A MXKI:D#_Q1\#7Z<$QT2C/0KSHDWO_LF7K$O&0>TI;,/BWXA,>AMH)RO'OSK15 M_*86'A[OW6]S>(!Y9BF?B/#/P%?+R]:@17P^9UFH'L7Z(]\!=;6?)\(T_TO6 MVV<[G1;QLE2):">&$D1!O/W/7G<5<2B@%0*Z$]!W J?J%]R=(*\Y:UNR'.N: M*38:2K$F4C\-;OH@KYM<#31!K)MQIB3<#4"G1A.QXI),H<5(FZ1+)GDZM!08 MZ]N6MS.YVIK0"A.7?!:Q6J;D)O:Y_U9O08&*4M%]J:XH:OB9R7/B.F>$VK1C M*,\$EX\3D-,+D_Q-<=RBDMS_QB8'?1@_) FS..7 M+1AM*9PG0*V@[F/KH67P3A5Y&F31$@R$5FLY ;^^\:J..)^?6,BQD5-D0\2A5,'^8F]DGL? MAFLP#[R<&^G31RP';MONN;1O?B?AXJ:\M.2E=7C'O@_NT!%W!^03/$>^Q.9V MQ2V[MFV3FU?N93KD0CR3+VNV,;*C1DW9RV#DH%$$9W]:"R,[;CG+ A@;76H; M<4^1C)PR&CEXN'F/.]%G,(R?Q#HVHN)V,P83&(N$23O!M4U1R\CDX$'G/6KQ MRII*L0IBS]RM<<_)V AZBNSDE.')P3//>]"I2!4+R5]!4OU6QATO.MV!:R0] M17IRROCDX)DG[ZUC^-BO!L,->EWSH#Q%9G+*T.3@B>>3\*"]IDL18ZGIB$F7 MNFW]UC7RG2(V.65N6+%[PREA\Q.AA/+L>&S^]<6%3PC(? MT5KY:)))J3_>ME]L>5/"E)(9EYN..'XS+E)-<%53SC(+T5I9Z#Y67&Y7)_57 M.-N#&SEQQRK.4X0@6H8@6BL$Z:]4^("!5+ 0TO@V.N(S]CP.%F#@;\V,K*=( M0;1,0;16"II%+ S)59;"[=3<8W&?RN4&7->4KPP_M%;XN8FX7.@A>0<.:@GY M($I8;&Y4W+ :]!39AY;9A^+19=^02PX-B>$U7#;"=4WQR@Q$:ZTN/!EAB>3=XS[O8>JBEQNZ_&@8B+_B^C=;!- MJB>\?/@]WNF!97BQWJ<;XO:Y6/;[>W/S,]7Z8DY'.0VN=]>.')[8[Q M]D2))-]T?19*B2@_7'+F?!,:N>NF>DEF3JY>ZV '#,%Y"*1A_OTM\*.L9' MR5WO11O J^6_B[2_%9P^B?*'7'"NT'.>%?)LL%!J>3P:R7C!N%[^K!0^L)H?+ID#WS&U=WRIH2ST<9+DN:\D*DH4,GG9X-S?#RA M5 ^H+?Y,^9/<.D8ZE'LA?NB3R^1LX&A%/..QTBX8_'GD$YYEVA/H^+EV.MC< M4P_C HR--B]9<]KQ.Q-0"['0/(>@!YZP"Z'E!G;K125HC1$DQ;Z,?T0%*"W2[$)5D12)/1PK4 M:)^C>'WG+ZL[DXX[_\'*(T3Q$!&'N);AD_[A4QYOAM/=X2/(P2819),(4ONC M'?XF55GR0B$F)5?6<%;C7?MXO=R.Y9+%_&P ZTGR\I$/QA\_8-\YL07WBYSM MA$HWH=(^[^,)DPL$#PW%^H#_K-)'ED'LUJA7KOS:E:X)CV/B1BX-3D>/V_%8 MS+R D,9L1ZF[4>KV*CV/8U&!,"@8,0>5]QD?H@**FY@CED$)8D7,];GS$QW"?>22UY4E>[%E8R77VPK3 MHPZ-6LDPK=PHU)/JP5_6M4"Q[@\#0S!@AGD-:$FUF M- H=N\AH(S+:DUIH+$KU4J=45Y0EH%[5:]6F-3)$8.)Y;:D6*TR]CDF G89X M3J_6:U#*5%H\H(Q# X!*3?I#,3^LX&25WT[A:]<[FAR"W99RJYGK=LP$O 5K MW"O]LE"L>$AAZ>\5B@T%D&&*VT(M9K[7*;2!*>X%V/AW(9(G*%=6:<121$-C M+>TUVY76P _WTV_*YQS64J(+5,]R6GO9OCWPS&F+-*U\%W=I;+"'^[EW71>E M0A3[ESTV84-I8$Q(TXIX6U38U=D@"?L29G'&I1WQC&EKML-]!)-P@ M"?MOZNJRE $]4Y7:D81[R?;>WNY7>=N-N:$<[L?2@,TW$\T$%A6L "A3= @9JO]'(#CGA=\GG9,)1-<.(K,RFLS M(S[MT-SP#?<#[E7SON8&F]"*PLA(K&D5AJ2C;)"&;.1]9-N:]Y':K$A7TT@:II%^IKUFMJ0=Z-LGU20;Q7Y[N=FL2-"QTR$-_\@>_O5- MY :+5MTFZ7SL^VW=%JO [ZALI.$A>0L/]V76LD,CKF=, IL9Z6I_28-$TK]- MFX@\3Y5NSU=++1:%SC0O8M"+/ET)Q1%V/UN5_PNP(>O;C__N:#?Z!HXDZ&T( M9DK$/Q8B2W@I/WX("0Y.ZOV*LF[W22]IW_W.YQ=YVPV]P2[IQZY^\ !:J3,P M1 ?.D>,X&)J$$CVRK.(G"&-G"-?T/R07K-2UN%(+4:9_\^0$!?[0(WB(0U+/ MF\ ;AF$P= ,/I5+J"EX7[DI)V*,D>NW^/Z]@B$GX]M:AUV0W>TT#0/8T $F2 MZD8%UK=^B7"8%BAFRQ36NU6D"7C7P9YK,-6THU'@X8Y*1)M6@/:W D#5*J\R MIN"Y)-!4Q:FU6E*3Z8E>^F]TKJ$/76')%_I+P2-? M]UNC3YF0TEJ3J(EU[$3M>F^SZN04;>!/WP)_^:Z:0DVX4^C]<'MJV.TBI^.5 M*MUZ^]O?!1B0JI?C.X,PW_=:-W9V.W-C-]KZ@J$_'T'1>$@+"?B?PT#G*( T ME*LO,JL3)9;U1XU[H93(Z\,%9R!>&\#O+SV @ -@@ !@ !X;"]W;W)K$%R6%F MS46&%73%QI:%(#@QH(S9GN,$=H9I;D4#,S87T8"7BM&S8.=;P)^$;) M3NZUD7:RXOQ>=ZZ2H>5H08216&D&#(\M&1/&-!'(^%5S6LTK-7"__BY6RTG%S=32=H?#.;3&>+JK6XN;Z:C/3P^>AZ-!M/T>)R.KU; MH.,Y%B17*5$TQNP$?4++Q00='YV@(T1S=)?R4N(\D0-;@3K]#CNNE9Q72KQG ME'S%HH-\]Q1YCM=M@8]?AD](W,#]0[@-.6D2XS6)\0R?_PS?0F%%8+LJQ-?H M@N8XCREF:,XE-?OOQV@EE8!=^+/-:L7=;>?6)_-,%C@F0PN.GB1B2ZSHXP#TQ;S,5>LR5X2!(=1% M9!NY?O_SP-[N>VH+"OPFZ$!KM]':?5'KF&<9K R_BD37K%'^ZIOE\[7'M203FC^>8U ^%;#;0$MANP]ZJZOE&A0&YH+A$C M:X ZG1 X1'5+51W%"U/H5US!M6&:*5SL1.@ F%]SKAX[^NYH/A6BOU!+ P04 M " 8A*)8F?SP^C8% #U$P & 'AL+W=OG>^&"@5R3F+,- M[7[[&R=I HGCVY7ZAB1F9O(;>^*_[>$K%R]RS9A";VF2R?/>6JG-F>/(^9JE M5)[R#/=*I/'/^HA^N%N<]5Q.QA,V5#D'ALF-CEB0Z$G#\ M6P;M5>_4COOW[]&_Y,E#,L]4LC%/OL<+M3[O]7MHP99TFZ@'_OJ5E0D%.MZ< M)S+_1:^EK=M#\ZU4/"V=@2"-L^)*W\J.V'. .&8'4CJ0IH/?X>"5#EZ>:$&6 MIS6ABHZ&@K\BH:TAFK[)^R;WAFSB3 _C3 GX-P8_-7JZO7B:7#U.)VA\=SN9 MWLZ*N]G=]=7D0C?/'N%R,[U]G*&[+^CZ;C9#%[?:YN;^8?H5'*Z^38OF$_0T MFZ"C3Y^17%/!)(HS]+CF6TFSA3Q&GPZ>AXX">LW@S$O2RX*4=)!ZZ(9G:BW1 M-%NPQ:&_ UE7J9/WU"^)-> -%:?(P\>(N,0W\(Q_WMVSX'C52'AY/*\CWE4V MYRE#,T45@^]$H;\NGJ424.=_FSJK".:;@^F/_TQNZ)R=]^#KEDSL6&_T^V\X M=/\P9?I!P0[R]JN\?5OTT0/;L6S+C!51>(:YIYZ0=J-HT,?1T-GMT[>M^J[; M=RNK ZR@P@JL6&,N%>)+F*IR/!-=$2#8>V] <$ := 8K'+B!F2ZLZ$(KW9^" M2XDV@B]C94(+6R\E41@ #53^(.M"B"BVRUO'=A@FJXFR%V!N(C32/;/21 MY?M!P0[2[5?I]JTC,][ M4;-Z#$;$]G5$!DV^ME$0>KZ9#[NU M*+GV\F89%%&2,](%R%ZL9T(M^$;=<-MUC /?:Z":S/S(ZY@G\)Z"8BOL(U> MRG^J[,M0^PR>1]SFC&8R\X,PZD E-2JQHE[K66,I>/J.RS,S)FF]_R0(_.;@ M&\T&>S5RB%DK(;8*SNA.K9F Y8(61.>H[,_/QRACQ@^IC'8PL %I3G8&*QSV MNUAK]<)V^&':1UNJ&[?)V"_N7!#K6R-56K1-OX/>;9 :S:!!U MH=7JAJUJ,H+- VP-,EB;"\&R^0\$$U,F$UIL2A;_P))=3_@RKU:]@( .-J81 MM?EPU,JB;>4/.@0:UY*%[9HUYBDHX5IOQG:LNZ/[K775B8])V$0TF$5^URH" MUR*%!]9U1/YAP2Q5[":,@%:9^]5%Q$=%.]R+U))'[))W264\1T>P1UKP)*%B M+_?/IN3+:L9S;#V#PZI!8]8A>]29QL%5O\"C#^.6"C62=P+7V$ M6,OI>[ZA!V*Z ^5;L?=-*M\JJ6"=T;$((E9!_=4:^ZAHAWU0ZRJQZVI=8T7R MYG%JZV04XJ Y\YO,?#\8=(Q3K:?$KJ?[A66C;&NDD=)@9J!T]@Y04B96^;F2 M1'.^S51QH%"U5F=7%_F)3:/]$I^-BQ.H.DQQ('9#!6P4)$K8$D*ZIQ$PB>*, MJ7A0?),?TSQSI7B:WZX973"A#>#_)>?J_4&_H#KI&_T'4$L#!!0 ( !B$ MHECLYQNSH08 4M 8 >&PO=V]R:W-H965T&ULS5IK M;]LV%/TKA%MT#5#7HEZ6V\1 :DMHL#;I\M@P#/O 2(RM51)=D<[CWX^47=N2 M:,8J+K9^B47[WG/)>RY)\83'#ZS\RN>4"O289P4_Z[GW_XC*=S87Z8C ^7I 9O:+B9O&EE*W!!B5)58.7@[DEG$Y8]D>:B/E)+^BAA-Z1928NV<-'NAY0U<&8 M9;SZBQ[6ME8/Q4LN6+YVECW(TV+U21[7B=AQP,X>!WOM8!_JX*P=G(:#/=SC MX*X=W*;#OC%X:P>OX>#Z>QS\M8-?Y7Z5K"K34R+(^+AD#ZA4UA)-/51T5=XR MP6FA*NM*E/+75/J)\)S4E*.T@)=S]F2DR+A M;]#+6OMX(&2/5=Q!O.[=AU7O[#V]NV:"9!JWB=EMPO)<5NV58/%7C??4['V: M)*FJ>I*A!4F3OAQ"3!:IOB?A,UAQO,R7&1$T4?6>QJG0@$2'@S QIR6*62[7 MD;F:X/=4YEBVZ>!UQC@_JL,/9#EL:L+>U(1=Q7/WQ/M 9VE1I,5,SMF,%#%% MKV4.5@0?(2+0E,9OD8/?(-NR;1VK1GRU6+[C"Q+3DYXV-7[W OO5> MQ_4*S*O U$)Y/QZZV/./!_>[G$*&#"'!(B"P&I7.ADJG(Y6'T+?"]'] ML:= A@LAP2(@L!I[P8:]X,?8TS$6M)/<7->,T;K.I.?CA9#Q(B"P&A&C#1$C M(Q%GG"^K%RU%Q.I,),\^\B3Q),_C@JNO!7E$[#9+9V0UOZ2-/ ?+1?"N9#DJ MY)Y4.2).A]Y0KFQ6Y1+V"/#LSC3WM.C-'[==P9]28FY !0TBP" BL M5A+8VAZRK9^F*+2G;*O],A",O,;2.C&/HNNL/RQH"!HT@D*K$[VCIF CT?)P M0--9@>)E6=(B?D*B) 7/R$I%2_Y9BTDNYXHR!HS;3GI0X=5& [2F"I+W=MN[YM6Z.FV*&S MFVW6_E!DQL-U&CHX=9&KU$DL.3:;U9^VP[;0W=/Y6_% M!NS_ATH?ACSW3T#1IJ!H(2A:!(56+X*MQH'-(H=)\,-M[:'OC-R@.2,@-8,I M*%IXV! BJ*!U$K92!39K%5UT/ZS1#K#3/'A.S!$[DW)0T! T: 2%5B=E*UM@ MLV[QP_*?&;?S2MB6&?RFR@ :,01%BZ#0ZO^XW0H-MEEHZ"0#VNT#NNTWA4!S MP*XSZY"0(6C(" JMSLA6$;#-BL#/I >:N]KY__+M0[GG-TY.4]"0(2A:!(56 MKXR=6Q9F^>'_%@7MMN+0'WK-U79B'D7G!>"@H"%HT @*K4[T5IBPS<($E"AH M:R0!/&R^GYH[TYDO2+00%"UZ+A]UNK82B6V62 Z7!5TM2Z#ZB*W11WRO>35F M"AHT!$6+H-#J=&[U$=NLCYAE03V%;='#">R@J6A,-'9-<41CXEK8!T[AS%6GLL+6C$J^2--BY$*HN",L1SU*Y?V3T3KI9;X<2I5S=N5TU!%M4 M=T1OF1 LKQ[GE"2T5 ;R]SO&Q/>&NG:ZN?D\_A=02P,$% @ &(2B6$Y' MHX3G!@ ^AT !@ !X;"]W;W)K.V$B\E M28]/OG/]?.+S'>._Q9(0"9Y762XN>DLIUV>#@4B69(7%%[8FN?K/G/$5ENJ6 M+P9BS0E.S:)5-H##83A889KWQN?FV0,?G[.-S&A.'C@0F]4*\Y2#9" MLE6Y6"%8T;SXQ<^E(PX6*#WV!;!< )L+_(X%J%R C*$%,F/6-99X?,[9#G M MK;3I"^,;LUI90W,=QJGDZK]4K9/CI[O+I^OOCS?78')_=WUS-RVNIO<_OE]? MZL?31_5S>W/W".Z_@LGE]!OX^N/^UQ3TP=/T&GS\\ E\ #0'CTNV$3A/Q?E M*EA:^2 I(5P5$& '! 1N62Z7 MSD*4F/UP^4.95-<&_3%70JO,7\"T#>9P"' MT+?@F;Q].7+ 096+D=&'.O1-L%B"N:H7 >:J&V5,6(TL M5H9FI6XYVW$?Q?[H?+ ]1&^1BN)H6$D=P0HJ6($S+I?I/ZJ^5$N2 DBF>E+" M\H1F!.0E7OU47RM-T\!7C$NZ7_F@WXCK&TA+_0#>U2C"FGD1'I?Q28CJKT# MKOMXG\W[&W6#A2 JVH?@ 7E6E"B(S8BHA2^.FZG9E@F#CL0<52:,G"9HH 3V$X@90FQB"0=0!]8!Z M/7>JRB7AX&/AS$^#,MKBLVXZ5KA>VV-P%#71MJ4ZO0IKJ-#-84N<+XC03+^O M(=4$,HIG-.MN?Z72$_6_4VD[=D'-XIZ3(\>72<(VFBM4(R1TBV>9M3!++4=! M0FCH-:-D$8.AUQ6HFFH]-]<^Y2HBF!\J:>3TG M68T?.%EC^GH?*=4 MF^(40+YI=&CCW1G)R9QV>+3-:&'0R@6+T##P.P#7S.>YJ:^YK3AH?5:H%G+S MO&'0!&L1\T-H!PMK#H1N#MQ[][7R@A9B&X9-0K%(J886=H"LV0^ZV6\/TE%< MKS@96O@0Q OJDTZDI])V[(2:**&;*!\V/%GJ2F9S'4(5./EB4I#\NZ%K/15: M76#A0^3%K9*QL6LPZB D6/,F=/-FL6.TQ:MSTP@MW!BUMK@6J8Y9 =;L"=WL M657(1IA>]/8\LY%BC)KSC4W,X>2:/&'TKO*8TQSGR1M@.SGYW>5Q(FW'3J@) M&KH)^H&SA)"T= %Y)CRANDFK:A%ZPE*M3G.VW1%M"@ZB5EMN"WE=*5>S-'2S M] -^*;[G*)B*]0";971A-A=ZVRXVF529:"S2WW7$$G,"U/Y-9D0OTZMTABJ9 MPD:\P]S^11-:B#L*PE996<1&<="Q?4(UP2,WP;=*ZZTYBMI4[,2 D47Q*0E..EV@0:LW0?-A>Z&6]QIF-J-<>R M XB;?<(BY,<=7YE0S?_H=?Y7^RNN=X.#CRDIKC[I8+S/A#;)]Z,H;NX%+&+= M$PXZ^#3M'FHG75 _JYWX@N:Y3BG-D(13EEKQMP=9&$00-BG1*A=&L,N$FLB1 MF\@=)A"]HW2";_,T]&,?M*X3K4QZV<6=-+/S*?2=NR1>M> W+L&$TXS=2NC7YU@2F7A<0"; M8Y9-*H;-$6!P<(JV(GQA#A<%,)-T:JJ(2:(>=*Y?!+I'S-BX/&XD:RM3FKFS$IV,:_O6M?/+.=K[11[UKANKJ6[O&LD1MUK?S' MYEV+;T<]E4+7RCAMC6C5^OG!Q?&3RS-:SPM^U6KG1I\%2;*R]A-]>5,\/U@2 M0ZI2N2<*$G^VZDI5%1$"&[]'F@?]D;1Q_#E1?\VR0Y:5=.K*5O_1A2^?'YP? MB$*M95?Y]W;WDXKR/"!ZN:T<_R]V8>U#+,X[YVT=-X.#6IOP5WZ.>AAM.%_> ML>$D;CAAOL-!S.5+Z>6+9ZW=B996@QI]8%%Y-YC3AHQR[5L\U=CG7_PB?= M::^54Z9W>@>]BT'*=U%*\=^+E?,MO.A_F?S]"BRGKA&YNKY 4+'J7:K M#E[\^+?CA\NG7^#VK.?V[$O4OY<-O_NAXN^M+L3+&R-KG3OQDZT*/':9>&/R MA;CG2R5^_-OYRP6)C-U*2INBT!OM994$":96GV%ZK<"R$[YL;;M?O$F&SX(:7,Z' M9E'3D*#I@J%7>C-HZJ7:OFW@3M"4$6T]Z7*5;U"T,>L?YJ1)ZWAP 4JJ"]YV_6K*Z:G5FU'.CQY'"K$ M0EQ**(OXY71L?-#-A[]$,:*4")B54B8J/HA*A-N"O8H9A(\C;U9DK3Q7#5$; M*RRX4*5<,N)'PXQA"Z$845QOJ4,9&=JG3&/I]K:SV6XLA6_=YITN7J1O12L[1DL$IY=8>;DE7_ MG"$!$ D],G^&V*JB:J 'RK)(V+\!HH7%OI18V2(K18/91IM1Q.UG#208H%[: MFPD#;W:.7+3W>*G;J7-&,O@)N\K(M(/S;L :\IHUI*1*VHL3/ M0"P$%6 4,G+"420,FREQI^&KVA0(;BX)>PRQ_+6\@>=S[L]9K?&P%+G$R'[H MGK&)G)KQVI$M7&F[JB#BU'N0CF&_WSH3P'WOP/M:3F:?I;G/W5Q>24[:)]-; M)X3TUG\2V*FBH60'8P<61= $T;)_,!.JYD)1E, M#!E451I=#TO1-=9,53$IQZFN#*!->,MLAS:*BC-00J7_X-I*PNX,!8JSQJB* MRL<.V(/^#C^N6UN3V"P#6+4MQ93IG7_Z"'X/G3H$!^0G= >/B(@@8(H1;Y!E MI4I9K>=T/N%Z*F4)YS>6M=NZ4C?!+;6;LC)@IS5\3D-_?7V0;.5IJ$^/T*-D M"Q5*1JFCV@0G,H5L"RBLU 3ABJ(E:%.B;9$#TE%D:]0Q1'8,7K6554? 0&&D4( M%]8(WFZAQ$O4FY>F"NX%;JVPK?0GQT'.'P,9 E\/%A M'D7_V/7V8,1$"08(#+&S[BJXZ[9'L[G= @FQ]]Y$QP1XU91/1@Z^ ML;;8Z:K*1$A5J:OQ-O]T2-._T&U"9P-$I=P%?5 _R8Y?1%0F&GE#^2J[S2N7 M*@;, :US#^[E9^5H,93"&4)^OBOVZ#N@#_IK&AW0PL8ZS5X @U#_R*[%X!BD MD'HJ"TINDJ1H9$O[B1S%7]PD-_2;'S !=*?TEC-O DS)'#S86/&C> !$ F-4 M[1&*K-Q()N:2_ABDH:!/+NLH8*A:W-P2H=%D@?NZ@+-'>)( ."D<">>38KT7 M>L 16(4$ZDAQ*]MYL>YX5@4?,+;6^6@YM#53#N/T8!\)CJ.1'*JEU/'#\>(, M^0>E*YA6WJU]N/1=?O1ACS0\_X\8_[F-F90 V&B_W'$)#E^L&;H&CH&8H1!X M<5U$HEQL\&R#Y.OCP&&R*0*4=,B 75BFR=&4N4B],T:8.6RP>&0VAU9BJYNK MN[HD5\HVN-4O%]NHU#K7"H.-)A6 MAU>RK9!N;:$JFJ1A^^'^]I05T(6%DT!O"(N!X&4E8;+KO+0 \X<_(V3)3\*\ MA"2G=?$@,@9_' K T"3V^5\*T[%?@H-/Z*7'%2 D1R+9=V!;2UT\9;UL^)'2 M408,Y#X=KJD8]H@*F4ME_6R/UQ::4+4I]G!HPG)!Q6,F.A?@352SCT:XDO$,,$XB=GK(*8ZBMBBVY]3(:']E<]5*%;G[(OJ@W;71\ M<4\O%.3L:=RY.P98)0D>!B2#-N6PURT,D9=]'#+Q^]$FHP@;1]Y>F-V6N%=' M<2OX94 -H-X[&LVUU38X>^1B]K0IH>@BM^V%U%Z$#31DFQH]S$<#V[%Y6%?6 MMK%]H+-H)"><'7KX@*9".[XO:'+,D<"AS:+#.'-H3HJ5(NW#0A#=VR$YS647 M>DC&H2(+^#:>W;+A67Z98N=#X" 3>CWCS:1CP+PQ?]1 1,8JZM:X.;H[6TZ. M3N)6:L,#S,BF] -'6>\2I *"5)2<6L@?4L*(D\0BN9*6G\:VR,DI;N< M/DNAZ?J=7''BPZ^5NVG*(B(W#6$4B'S&0Z, -T[#YXPP,/DR]_^+/:Q%8TYS M:R2./)KNITG\\)0#'?_62A-NH39;F3 XM3F0#X^'0A6DP(8J$=2.H7*(QNE4 MA&>(43B^V>)X9!MLE>E ?W733QL 51*5/J1X>)B6#I@-:)2F6;=V+L0K[D%H M1C@SII_$83Q"C9B!'C;*P@L;F([&T.&>:C@WG9/\H6> [U4A6CO8H<]Z:4]@ M.A,QE>[30O'%+K3".4\ODC.D8DYO&$P-N\(&M>54 O^( W'&@(X* A5MNEI3 M22,T20DV8!/TD@[MG,TU0PBJSEQS![J%+G@*$7HM[B-)B>,AM.4K%1A]JVWG M:&"+ROREEFY'/72Z+VJ5;^W@PY!NHPU?,D)%_Y"&IY3!DL>+H(,V#(/'<_MO MG3"?AMN@Y)^Q.QWNOSPU%D^@ 2(S?F. 0'O?U+[OW1]?KI(O_"L9]AZ3A2X@ MK+LO?L&F4EQ@":)%_" >GF:/SQ[3AV5V?/I(O.I:VRAQ_" [?WQ&?QXOS\5; M'@&=X/%9MCQ]@/KO^<(J>NP/XGR9+<^7PP?P%"_B"GO[9@=="#5OP097;%JV MW# H+$J]$47UQ?#G>GO8+;FOQ] MEL;'IIC<+UU/,G&M-@RFPLTJT;L7D.O)^?(^N\CQR5/QIJ9IA.KS1UC-/7TB M\%([:M:H%F6AQ*-F4SPA(_5/4M,24TL+OHO)'-)%:K'>A_03)K/I$2IX/;I9 M&%^]]/$>F[90O#?Q&M^ND6QMRXUV\,9-I\-\C5]]Z!LJGM;J$&_QPB#&A9Z[ M-@VGAO'D6-8P5Y#Q.2LK,M,[T92IE-W5Z*8P33&JFV$LS"T-#Y;X5HD;!"2% MB3!V16](C&1A9([>@F;8:H:GL; D"5>ZD32ABY%UR-'4X[VN $9.%WO\ZUUX.0V 5(!&!Z] M*/!UHF>A)9L4O:#Q;/\^9+!4['L3(A@G$JSK1<('^7D]D^ ]5T&Q^>"-AO%OJXKLZU%D(&OA)JA\\D*$QK?>JV,LA7-)6 TYBOVGV MO2;%X=2A>$]"FC=X6I=>R^)U8GL ;'UX<[7_M7[N]"&^; M#LO#.[N Y<]73R<0FN2BY'>M**#S)M"FYPZ793&QE!$_]IK*8Q-/I M\:3D4HTNSOR]*W-QIFM72"6N#+-U67*S?2X*?7,^FHW:&[_*3>[HQN3BK.(; M\4&X3]65P=6DDY+*4B@KM6)&9.>CR]G3YPM:[Q=\EN+&]OYF9,E:Z]_IXFUZ M/IJ20J(0B2,)'#_7XH4H"A($-;XT,D?=D;2Q_W%VX7_7-&]'8LR1YB2ZL_Y_=-&NG(Y;4UNFRV0P-2JG"+[]M<'C( MAKC9$'N]PT%>RY?<\8LSHV^8H=601G]X4_UN*"<5.>6#,W@JL<]=7"9?:FDE M(63/)@X2Z?XD:78_#[OC>W;/V3NM7&[93RH5Z7#_!)ITZL2M.L_CKPI\Q\V8 MS6<1BZ?QXBORYIUY)D9\0NK46X]TR/&%B/,1DL8*/ON*>8O.O,77I'_3>P_?S7X1M^Y#E0M8_N,/I_$L?L;>*W99&5FPV:EW MR#QB+A<$9<75EB7X+803J;_+=\*8SMAL.OT;_?;$?A1)KG2A-U+8B+U5R9@] MHJ/BZ;/=*G]C]NSQ&/C7%%1,*D8,$_5%2L#6VI@ X,1J)I>I2&%V312GHRFP95CD85-BP3=Q6=,-ZZ-\(7K@\X4; M4\@V !A4>W'U>O*.JSKCI#BAWLA#L(S9QU[8K44AH0G0SZ4=A-V-+ I4EZK2 MQO4CM?.77O\F?!7P#A,J!P;^*!=\J4AMEO"*KR6 \G$*]:%?NVI3Z#669%H[ M9 9!'T!/4!!MNRB!@B 2*A9!=:<=-E6U28"I0.*@IE&P>*UAQ%&\',=@]Z+P MA0H2_1+KO)X)M_G>'MP]BA?C>;>GXA+^=Q0(I$90*^/2L&M>U((V$""0XO"8 MM!L*Y &P%%G0KMU+Z*/I>-4>%ZQ"%9)E73)>(E,=K:FT@VA)&/8.NJN^-WD\ M'8J[5S>LKOB6KPOA(46Z4CMP+13L(C,W/@Z1%YETK!0(F03NU @4V)!3K*1L MO>U'-L4E@G$64VZA? T#S(A$&V(>S@H9(F$+CYMO(!A0Z#0\%']K81W#/UGV M<+[K)+:NDJ%-/RW!KWVPDM-*. M;;27IEMX8#%<332*3/5]'A%EBR1![*G 2 ?W/M%9QC@2S8B"DY+W(M*!-V;O M:@?J0;. &X/Z\E(DHES#$BHN,"4>EA@?@Z186TX\/+@'CQ![& *TN6UUYFY M++XNT>;AH8-Z,WAT7\E917LB$(C!O3*X]Y.2!, 'YVL'X>3+0P2-,JH70J5/ MG'Z"'["UE9N0VCWB)M45_/,$Z'5QM"L'8)_$MRWDKM+K@,2N-[15I)-K:4B[ M22EOH04(B+ .F1_J@4@W8O)6?T1N4/.;M$RZE]E#(WGJ0[]"/MWZ."VVJ/]3 M)E#L]58(GUJ'@IL*A9/#[]*REZOJL(_PV*7O[5%#V,Q/\GEMZS_+L1-2&S3,Z[YK]78WR/2#UW8129.5W?$VZ=2*I^2DSK,4Z=-^61K:_LB3*QI* M:C(?LQ>U,:1Q(_B(K:*3Z2E^%]'J-&97AGIWHKVJX"IP F$4Z'6VBMEL'H-" M' =_D#&-G%6TFAZS>72R6+'76J>>H5;1=#YCI]'IR8J]][2BX*6A LO9#,4H M9A\]7^R;>\3B531?D'ZSD^ATL<"0Z3FQRX^(>-#46$OQHVQ3.+0_KH_4HUFT M6DT?T^_RY/@Q*B5J"IWA^"T]CJ-%?(+'QZ=X&+0Y #04>;2(%C.L/*(]\7'\ MF%VU+(<6%O&#&-'-_ ']@2M @/[+: F ]_#O+)4A? -U>#JD/PAZ!(0@@YLB MN:.>H^/QHF-#RM1>#) $T-=R\'P0&"$VJZ'JM(K[VM*;9"E[H"[J+:&E'QJ3 M U) 8!^.<]Z%>DO$?/\U J6WN$WHK8-7)< ;=-DTL1:1()OK&]7B%'*-K_5U M8VJ[U#/=1B'_4MK$<6WKHFM[^B#VRH$18>)U(6D#<_4)*-"7[;.+RS'(;7*_ M3-)L3TG45;,P).,"+K%;]"L;V01OJ*-80(-7K5I4]X_S4V-OB$+'@O&9"$N0 M"VU'("602/WH"?\FHO/<'BXRD"0X%,.N3VX*!P2F+@G.6PJ62MNVZWD@GGO= M4 ]2FC8=J'9=!U\!N1T.736X6]5V/1S)7S=OI':K23FM5^G"<* MIU[.1M\$JT@_=?#=G'2AVARI0 MQ&HKLIJ*_75#OPA^T[X?I&8PUZGG%C1X:/@RZM(*1KZF5"R\JJ3&D M;R.(7]_>4N'/944-XBG:G25ZM+ 0-^;18CEGI\WU9>N>[GW!:K5D,4(Q/&]? M3K2_'PU'FX-I4K#%ZIC%S;+9,F:+YN]?M'I"+QT$8.0;(T0(PGU),[2#[?;0 ML+4>\D&Q[Y^CIDD]:MK4?CS6]L!;]^#ZX$C?=%*T'^J0HFY^1;\IM2/Z0 M-790[.WA'HMP0XN!P-L%- FD,3S$#9)%T=MN#/>X$1#)C"Z[B+-[(3>F9I[Y MJ>8>37*.)H5JUEH@'9O^AFJL2#@0"=-)EJ%B'AB0[7WC'M1.J1%/'V! .YA1 M5AIZ)L$IUS)%B!=;YLMG.'>#,-A@T?C01YY)[W,=(GCC/TJ2(O!9^'+7W>V^ M>UZ&SWV[Y>&C*1(1]&I9(3)L!7\M1\R$#Y'APNG*?_Q;:X=T\7_2BQIA: &> MTYOL]H(.Z+X&7_P'4$L#!!0 ( !B$HE@ETZ$ J04 !4/ 8 >&PO M=V]R:W-H965T&ULQ5?;CMLV$/T5PBF"!'!\SV:[-V!WDT4" M)&V06Q^*/M#2R&)#D0I)V>M\?<]0LBSO>IVB>>B+KIS#,\.9,^39RKJO/B<* MXK;0QI_W\A#*D^'0)SD5T@]L209_,NL*&?#J%D-?.I)I-"KT<#(:'0T+J4SO MXBQ^>^\NSFP5M#+TW@E?%85TZRO2=G7>&_ MX6W8HJ2J(..5-<)1=MZ[')]6#+1IC,"B4J>_RMHE#Q^!X](#!I#&81-[U M1)'E2QGDQ9FS*^%X--#X(;H:K4%.&5Z4C\'AKX)=N+B1RHFEU!6=#0/P^.LP M:6RO:MO) [93\.O/CS'8(_0>K<=!V/[,MH'CE@T(6PW^;B6S[G=^4D291 M4@ME$)D*11>\,#:(1#JG*!4R[)B@FE"1286?9L%5H;R0CL2"##FI]1I%/O^; M8L4!4Q@9$/F^D":-XU(*Y)#-C!SY2.%+2E2F$E%:90(;@2[%BDMYPI"32'+) MRT9.P9,BEHBV6/(VT$<AKEEF5D,\&2'(N:9&0=5W&"3D J2WNSH=)YOHHJZ2O"VL MZ--+2JB8D]M\G6(2]T/W14&2:^C?)$2?)U]!;OE.3?*E':M(;7!PC^] M&\6;ENMEY'HBKJ7/!7VK%-SC%#QA?:3U)OFR"C#B%U@?]:='TP>>8BI.3CM/ M'[LYMD0DBQK\$]='2J7U*C#NB^FO[76+LOO^UIK%'JAWD6',+>8?D-@>[G/\;][/)N,[UY_P_LUV M8E:,^P,[JB1RJU/?Y MW?O7"45+B$EL%0H!VM^^5@B X+B@GY@%[* A%DY_QTB@_A[#HTQB"QH^H5O0 M]?2T+PS5;8D5W6+'8[@SXR"#]_'AQR M+.2@F]KM@O%F6Z'9;+IF3+&./[NQ9QU'?=3+U1W61(8G$5(#"NT*A ;B1_]5"FO?0+EB(E;*"W=3BR;'8*7!1/V%6&# M>8F6M$#/:;H+EH-;$;KW;@UO:[(O5CG%I,!*Z)@F,<:;MWI3\#\D455@MPB'LB0%)R\]:FE_=J>^2[KH\YV>'U@A&PO>!4U93 =#5X\[PE7'\+J MEV#+>/"9VX!C5'S,44KD> #^9]:&S0M/T)Z$+_X!4$L#!!0 ( !B$HEA# MIYS2-P, !T' 9 >&PO=V]R:W-H965TJ6TB%L>CJ.5"!LNY/UOKY5SUMA$2UQI,W[9V_P3>#.O)+!9;)1 MZM$I?Y:+(':$L,'".@1.VQ/>8M,X(*+Q8X\9'$,ZQ]?R ?VSSYURV7"#MZKY M6Y2V7@23 $JL>-_8+VKW!^[SR1U>H1KC5]@-MAE%+'IC5;MW)KT5=Y#(,_R$[=\.==J!]I9$YH3?*K>F\@)Z1[EP6JZ%>1GEVM- M[ZOM"W!9 O[H14<5MR%(M//(4@!G%A5[L)L!C/T&+(5[)6UMX$Z66+[UCXC8 MD1T[L+MA9P'ON;Z&- F!Q2P[@Y<>LTT]7OH?V8:P;KBT/NF[0]+PSVICK*;O MY/NIU ?D[#2RZYV9Z7B!BX":PZ!^PF#YX5TRBC^>X9T=>6?GT/_O*YT%.TWU M3 0X=UV5 M"R'A!;DVEUZTM>H-12+U5K5=;U&;MY&!78W@/219R%CFA#2W7>U[45%(]U(/WU*)J(QH*E1&O?)) /HX=K4DX)5I>&"<3BFO, M#%9%T;=]X\M2(CU (?@PGQQ8J[05/X>#BX2%TWARZ84L2RX):A3&;.IW-A[# M+>^$Y8WX25CF0+?$)QJU0Z$*95QFCD,29F,G3,,XCT]P>1LZ"Z?9E"*GX70T M'0+G+*4]#V-*\-P70;$857L?-*6RGVJ Z-7(:E%O_6 V1+B7=IA>Q]/C[%\- M(^^7^?#CH,]J*Z2!!BMRC:_'>0!Z&,:#8E7G!^!&67HK+];T_T+M#.B^4LH> M%!?@^$=<_@M02P,$% @ &(2B6')L*=QQ P AP< !D !X;"]W;W)K M&ULE55M;]LV$/XK![4H$D")WOU6VX"=M%N!=0C: M;/LP[ ,MG2VB%.F25.SLU^](V8X3V ;V0>*1O'OXW!WO.-XH_]#3 ML6JMX!(?-)BV:9A^GJ-0FTF0!/N%;WQ56[<03<=KML+O:/]8/VB:10>4BC,([%,(! M$8V?.\S@<*0S/);WZ)^][^3+@AF\4^(O7MEZ$@P"J'#)6F&_J'(X-!?,8@W1FDGG=WD&=YSRR;CK7: M@';:A.8$[ZJW)G)-2L0LD:-)#>)#$489;FN_^L M_-ER34R,6MH-H^RFMP4,A]WWNY(WI6K6:,FYE4:D;D-W(85BD/OO/61YV,_3 M%^$W-&9$L&7;M,+[R!JE+?_7\X2K89@F"3DT")-A[_I<](A[$199XH1>6.0] MF%-GH5A*'\N2:?U,H80G)EK<1_B.F#+Y_.'=($WZ'PW@EA+@M/C;0VAX'7=7 M0Z$'P4-N7O'&+75YX[*HNVRVUI6"3P]P#]@EV#G?J%;:MSES1\ 5;DO15HZ4 MK2F>T'1- 5U3>,/G&K(PS@HG%R3V4B_V2$QZ R?VG9C%3APX,>[#8XWT\BPM M78UAF/=Z\*@L$R_A/%5CT5%SI#NU\D^ H0M,3G1]\K!Z>&5F77-]4>^>*')@ MQ:4!@4LRC6_[10"Z:_O=Q*JU;[4+9>D">[&FEQ*U4Z#]I5)V/W$''-[>Z7]0 M2P,$% @ &(2B6-9_3 JU @ 9@8 !D !X;"]W;W)K&ULK57?;]HP$/Y73EDU;1)J0GX08( $[:;MH1IJN^YAVH-)#F+5 ML3/;%/K?[^P 8QI%JK27V&??]]UW9_LRVBC]:"I$"]M:2#,.*FN;81B:HL*: MF4O5H*2=I=(ULV3J56@:C:STH%J$<13UPIIQ&4Q&?FVN)R.UMH)+G&LPZ[IF M^GF&0FW&03?8+]SR567=0C@9-6R%=VB_-7--5GA@*7F-TG E0>-R'$R[PUGJ M_+W# \>-.9J#RV2AU*,SOI3C('*"4&!A'0.CX0FO4 A'1#)^[3B#0T@'/)[O MV3_YW"F7!3-XI<1W7MIJ'/0#*'')UL+>JLUGW.63.;Y"">._L&E]TSR 8FVL MJG=@4E!SV8YLNZO#$: ?O0"(=X#8ZVX#>977S++)2*L-:.=-;&[B4_5H$L>E M.Y0[JVF7$\Y.ID6AUU@";NF8#1I@L@1E*]0476N4%@1G"RZXY6A&H:68#AD6 M._Y9RQ^_P)_ C9*V,O!1EEC^C0])ZT%PO!<\B\\2WC!]"4FW W$4IV?XDD,! M$L^7O, W9\]L(7:)^VHP8>#'=&&LIBOS\U3*+6-ZFM$]HZ%I6('C@-Z)0?V$ MP>3MFVXO^G!&;WK0FYYC_P\'=I;_M/K7!87["J%0=:,D[1A02WI\KR+8H$9@ M!I9*4-63I +J=*,KA7EDF7EN&"\@Z_7Y&8Z\3YSTX=7W" MH[=/Z:Q\AS-4_K6T;1LXK!Z:Z+3M'7_&PO=V]R:W-H965T&9V;(LY6QCVXAI:>G3.?NO+/POOC8[[MD(3/A>J:0.59FQF;"8VCG M?5=8*=(@E.G^:#!XU\^$RCL79V'NWEZ6<\_'AYS/O#AK^47+G6 M-[$G4V,>>7"3GG<&#$AJF7C6(/"SE%=2:U8$&-\KG9W&) NVOVOMU\%W^#(5 M3EX9_;=*_>*\\Z%#J9R)4OL'L_I=5OZ-Q/*JG+*#5Z1NJ(;DWN%XX^YZE,M^7[0-# &-4P+D=[ M%=X*VZ.C89=&@]'Q'GU'C5M'0=_1'K?HDW*)-JZTDOX93YVWH,"_NYR-NHYW MZ^*T^.@*DY-'JI\CE= M69DJ3]N-> ")29)!B(G I(!0=.(G"MF6G[?1XWG*R1W]B96<@O!(:N*!W+KR$6I4G MJN"YS)2P8V94%NSRZZ-!;X""H#5J6[=20:^'K5EXY'&^+)-$O*Z<:I4I'SVI M69")-4QC"T>,G7?J/\E2_/T+8$2D\,R5ETD2!I' M\"@Q&:!P]%P\3?F$HV%+V-A'&'.4].I0]H4>E1FQ=F1^X/I)C\:^S<60%.]/ ML;/P 6[D)2PZ*ME,V+S;B$@26TI.%-#/88P_*B B\KS,R/)A<7-(&894S%(Z M4(=!(\_''84N$08@MG.$!EDP9W>#\\/>X W';=@[>=.%*&01;I%^0PN 5IC- M:%*QZFXI;<[=AJY5+D 0*'E@_0<5;2=WUP]-:C(A&S6 \[FTAF[8D2FR@^YF M,V#=$O_\]>'F\FZCX:#QS.0A*1$55NO4TV\9]X%-7! 295)WN,_54>7J*+AJ M.% _NIL*I=?0GQ5:$GL3XW> S9.[+S?C.(1B=BCA^(*N3%"'CIP;9+GPH:Y1 M@;1)'4&K10V=!WN3\KF*R48XHBTNZP^W+/L"H%^,C*JPQE6Z(HM$K$ M%)Y5.E+)QXL*GVXXM(NWR"5GM$H#,&\\DDA+< %UC+U19CNO%6!J9\@@Z>>5 M#*KHFDR@)[?&@%Q*U]TJC3 ?)SAF@!0 M*"VLQJ\+N05WDYT1;B@9OTQ+RQ7J>ZEL]&[:M!?)P5PW90CV%>I,:C*P5"5< MJ9Q*E; *X#-1N831S1X8F$6C^/)8>34H<=@L],R#19:JJ MEE@A4R'< %XW"-W55'@& MXSALB*V\?A%L7UM7N,KMPJAUBX05GR.6Y\WMNL'W6\^I#/P*CT;6B!M8?%DU ML\V[=!R?8YOM\5%[&RH\4D+.(#KHO3_ID(T/Q3CPI@B/LZGQR+KPN<#;6EK> M@/69,;X>L('FM7[Q/U!+ P04 " 8A*)8*5"YQ\T( #[%@ &0 'AL M+W=OK/SN@7:YD-,29R99]Z'/+LS M]JO+E?+BOBPJ=S[)O:]/9S.7YJJ4;FIJ5>'+QMA2>CS:[_I2= M3T("I J5>N(@\7.KKE11$"/ ^*/C.1E$$N'^NN?^$^L.7=;2J2M3_%5G/C^? M'$]$IC:R*?QG<_>+ZO19$+_4%([_B[MV;[*:B+1QWI0=,1"4NFI_Y7UGASV" MX_ 9@K@CB!EW*XA1?I1>7IQ9C=+.\H/+67\#.5G[*V:7'S_7;0,W[^ /AG0)R]Q?]$QWT8I/FHGMUNK MMI(3P&R01=VGFUP)+]<%EFM*3,$:5%YD(XW*QOULP[2SH6N-F/9&7._&=6%2 MEA8(765X:36H994-Q$=^5RLW9017IJQEM2,(&I*<\+EV^Q (]EHYP%*U)L$Y MH'I05M(W5@5"EJ:I?""\1FYL65!3I1F M@P(!7:%%!WD7(,/L5U1$VF\@SPH%_*;4J=A !V,?*)!+,!,.$ H%:;6Q;%SA MU+8DJZ)X,FR?6Z5$V>:-HKP1B/HT'\*>)6(Q;_EO3 &@I%G'+R?8Q"E[Y%L_ MXOG^N^,X6KUWH^)0KI3_!(I'CIJ*(5[8'!XN6S=D$&_$5IFME74.O2$*NQV7 M0!BYAM">12]]X,VYD EM$52UXKK;[QEHUKHH5!:(SC(/>64(B5ME$5FP'UC6 MRE('8E/@,Y7ZJ?C2('MEY;4LBIW OYZZTQL.9?__!?[(Q26@Z51VFN"G0(P[ M4A,MSK)T1Q3$X+=*DPF^>-I"OB"_[=>[UEODJ;&8_+G7X0?F8AH';[IW#\2_ M$!S^#R(&>L )'K"++B70M-(_*0KB>P641C$ MR5PL@T6T$%?7/\\^R:JAQ&PL:?Y#]$Z/L1__!W ,9US+] MBFDG$S\;D[G_NL_Z,BNXS+[BK*$IWF#S0X_=8/8ZPO((HP\B5Y+S5DEP'%/D MKL)@$2_AD'N5'6T@(0F2*&:K)YTQ!U2+XX5@K/'[UZTZ0%K+@GSMQ.6HDW0. M15E3K;4T;5'NXJ/369>_P"]Y ]YFFMY &M>JKFQWU1S;VCROP1+>8,M"W^F^ MM$)+%"GM=URD,.DIU+.A)P:M9(>F!&*9W7)DUG)'!;_M-%3BX%4N*NH>NKB# M'FP1X=M*_TME$,N?GN@%'U6JRC4@=V_G^Q& ^,A$93SZ#RKLH9E:_I8<#O$: MSTTEFXS+&ED'$-3*[Q22Z$TX76(8A78T5W\S M]$",_:#8<8=S:G0TLTX+H-<;#3A@?)FFMJ'ET(?3!DZH#C%U-?L_TP]5_6-; M+HAVHRVFC#\:::G90!_2(CBP]>@NTG\^Z+_O4@X_UD-7:=%TQO\V+4#YR&*O M8IR_A#'Y?V",:8"@3D$PNR[-5C;K0F^[KOI4>+?(AV&S&^4X$ZVLG&Q/;35Z MIJ+63KVU'4KLJ^+N$#IODNFJUW\J?N4I\#4Z3&[=&(S>4VK?IC*5[TU#\R8/ M-IIBE=[=82S*>1+A^8_R<*U4U7/OC&GWIRN@7ZN#Q.P8@T:C'1Q.E>J>DL6U M.G>.%;*NK;G75)0Q\RP0B6_)9IH3_C4%Y5ZSR-K(POYA(@6?C7;4O7=*VLY+ MI 2JI+=WAV=*UNZ/WIP+CP(.S$PQJT,(TF1..&-H[06+; M([YP.'-!9SM&=JA+*NEL) 64S'G!@4E-@&:5N0"DF0:3R>3?E"^)5M!*#6U M>!_5&-!/UI/](8,/ *:MN4,;[IS"?(8L&3(A$/-WXE;"K#3?'+;L,;<1&MI2 M5(.?!!I#4WV#4N"UXX[P='SQ$>(Y"CA(.TX\KBKHX=B(L&43'< +P-KTL:HOMTPR, MU;TJZZ$8/6H*T[WT 3S]'G3[JM@UJSTX9YPA^N$%57O7-=N[ MD(2"6[YV)8]"&ULG5=K;]LV%/TK M%VY6I(!KRY)?39, 2;IA!=HM:+KVP[ /M$3;7"51):G8_O<[EY05VTG=8%]L M/>X]O(]S#ZGSE3;?[%)*1^LB+^U%9^E<==;OVW0I"V%[NI(EWLRU*83#K5GT M;66DR+Q3D??C*!KW"Z'*SN6Y?W9K+L]U[7)5REM#MBX*83;7,M>KB\Z@LWWP M22V6CA_T+\\KL9!WTOU5W1K<]5N43!6RM$J79.3\HG,U.+L>LKTW^*+DRNY< M$V[U%_\WGCEQF MPLH;G7]5F5M>=*8=RN1_RR:?$>.E.K?^EU;!=@#CM+9.%XTS(BA4 M&?[%NJG#CL,T^H%#W#C$/NZPD(_RG7#B\MSH%1FV!AI?^%2]-X)3)3?ESAF\ M5?!SEQ\D4K+G?0P4O:Q!*/EQQ-C/Z^FEEGT/M_GLHQ0 R?AN!Y.+.52.5% M!X2WTMS+SN7+%X-Q]/9(@,,VP.$Q]".5?XX?78$%_VI#E3".])S<4M*-+BI1 M;EZ^F,:#R5M+.9N2GN5J(7@&+"E+&&38SU4J,50B)VF=<+)'GQ\ +TAD5O= M(*3:5-K B@0OAYETMDNI,)9$F6W1Y/=:5?RN1[=BXXT(M,E0M$4T(KI*%;P_COV:Y'=W6Z1-;- L+(QD-F MN/!E2$6>UKG/F!<..>1*S%2NW,:'+*R5[.V"@RZ EDJ&I Q1(#N1YS2O70W\ M="G*A0QKB335=>DD0]"],$#-Y4,X5A4J%X:<)@UD\]BD"_U# O#F55F7T 5B M^72R% BB2Y6!YIHFT@#CQ)J#JAVGH&2HNT)Y#+L@"63"X;% ^:)R6KFT5IN6 M#:FV;J_-^SRQM!3WS F.A@!,<]V+:2"9!CVX0 M+]P:'[$P4H:"<*N;_OB8=.7; G>Y=IX QB^A2J;73(*=P="_FS?M*?T(UV K MVX8.&F85(*C4Y>N4RY#[0@,PW#6W9;ZAV<8#-3U@7)!/Y%S)?>(WH5HVM]MH M[998#Q6AU1(K*\<#A?Y976*Q#:5-&7P_X+&!FH-',Z2SEB95:$Z/KBP' +T# M#;:"YU-Z)T'!&;K=/$VZNU.-]F3(E>;*TZ1I6H_^!%? ];9AC(;V9TF?M0*$#U"1._'\T2: M595[YL).E>', M$XX?T!,$S7-]$!ZJ6EJ1MOKZ?]/^<"!3K:;XU,=33CV>-&:-?ND9TRTHGUP' MG?("OX5AJ3BAZ:A),8[I#S\M=DDE3GR-Q\/@!MBLEIQI>%;H3$'?FPWDA(81 M?KQTQ&^/HSWD-=JM#"!*B:]X6.__6@G,/L%OQ%^GQ*$[B.>[;;4JPJH61^,62!' MN_L>,,Q7Y!0\:?;7GPXWMR7I#L<#OAOA'[F6T0/XC"-$:Q&S*JK:>0K#!X<1.AUTAU'RJG$%;Z/N>#0) MP$%9H()(7D(#\L<[CE4+GHB5S)NWKA8P0_P/#6VGDQ+GZ.OQL$6!L1V M"]_?!3.-6G$4_D2PM^'L5OK' ?>>.A_W=[Y2<*I;^&\Q/I9@*,('2_NT_=R[ M"E\Y#^;A6Q&5P'&$#RYSN$:]R:A#)GQ_A1NG*__-,],.7U#^! \PD !D !X;"]W M;W)K&ULE5;;;ALW$/T58I,&#J!HI5W%=FU)@.TT M:!X"&'':/A1]H+@C+6LNN2%G+>GO.\.]1 %DQ7V1>#O#,W-F9CG?.O\82@ 4 MN\K8L$A*Q/HJ38,JH9)A[&JPM+-VOI)(4[])0^U!%A%4F32;3,[32FJ;+.=Q M[=XOYZY!HRW<>Q&:JI)^?PO&;1?)-.D7ONA-B;R0+N>UW, #X!_UO:=9.E@I M= 4V:&>%A_4BN9E>W<[X?#SPIX9M.!@+]F3EW"-//A6+9,*$P(!"MB#I[PGN MP!@V1#2^=3:3X4H&'HY[ZQ^C[^3+2@:X<^8O76"Y2"X341%V>JDC'^E MY#(FUHDMQ.M\?#$L4.4+)&-8>@!1M8(#"RY(+E4.>D4H#?(171AJB 5G]N-# M*F]>76;3BVLRL%ZW!R(9+Q'$5@9QEA.7M[]$4V>7LSCN":RU#RB^-=(C>.;] MTTM5*>T&R.N(/W+EBWT;"2*GV =/>^@B*DB*90U>.XYLQX*]D(A>KQJ4*T-6 MJ36:/6,>NE8T/<_.JK?1'$D@XQI=V;2[1E<:XV(8,4%J++9E6VCRP(-%+WB0+DV@ Y*N"\H#'@UL6)21."L9D"7RKMF4)[D41,!3X^.HEQ)%J*0QG;!A M4#:@I@Y-9SB_LLDU9;NV])&)T^EU3VWK&E-PGE#/9FR@V.FU5M+B\R:EM8TT MQX*@),7<;@2?\Z0)1PR=CRIV9O8@_3MT[PH^S\#:NR?-2HW%3>"0G')>!]'8 MF$042D)2B@ )X\'HN-J39#N]R[VO?6KW]<+IPFQ8?R8=BZ=3B<\1>*4-ZT0+ MW0VD&0&5:MA=FO72M6!Z&= ZV^IZ"67< R6OD=[L1_^GMCH:C57@D5PX:740O!?(\ MEC8CN#[&Q[I]>O AKL!OXG.#^T9CL?TF#ZO#B^:F_9!_/]X^ARA$&VV#,+ F MZ&1\\3XAS^,3HYV@J^-G?>60'@EQ6-*K##P?H/VU<]A/^(+AG;?\#U!+ P04 M " 8A*)8*_\99XP& !U$@ &0 'AL+W=O* )<+/9RSB[(D[54G_1"",,^ET6E3P<+8^JCX5"G M"U%R[;B:M\OC T,3P[J?E<7 MS4T\51L-.2Y:7HM*YK)@2 ML]/!N7]T$9&\%?B0B[7NW3/RY%;*3S1XFYT./#)(%"(UI('C;R4N15&0(ICQ M9ZMST&U)"_OW&^VOK>_PY99K<2F+CWEF%J>#\8!E8L:7A;F2ZY]$ZT],^E)9 M:'MEZT8V"@)ICG3F[-C+]](+\RE@J2^1:D W-!"K<3@[/D3?^0=[[$\ZBR/]FG_1TEZG";VJJP+>2<$T[LD4JD- M:)C*>97_A8=YQ5@ZA_-"Y=7<8903KM*%8ZW((%[(VF;==X+Q&-=1'+)K7HC&3A2H3\)@ M*3U)$ER].&9O1"44+ZP$S\#&G !#984ESG@2,-]SO/&$O9<&4CLC^93YOA.& M$[H)G2!.F$T+^Z6FQQJ>^F,V+7C5SLOZOH#EYHXM$11E@W\)M;RZ>_YD'/C) M<7]EKIE&24?5-@MV2[7WB/V\+&^Q$/':[/31%BW8=[Z"8W/!7GT6*LVU8%.5 MIX*=S^=*S)%)]K8RB*3.4_:!%XCT%XGX2M$E\D=<6B(0[X4JNRW1&("-*J/8 M<@N.ER(5UK"6ZR&B'8U'3A2,$:'0C2,*5.3$<=!I$:V=&3L8Q4X1S99% M<=>GV%XN:D@6EFM&]A+?@$6[I-]KIK;O[+L3-)2B('V:2B.H*!1<6_&\L$X" M/&R.^FA:Q%F-;ZL4M"'(-^"T.QP0 @/ON-O3COWC0_<1$-Z8_;^&<.CX &;B MQQ8$;D)D3QQ_DG1:;&2QG3]Q/,^SM:"/WQ["0R<>)P3PQ)UXG0#B,A,Y:3B( ML%L2'UJ:N$GM&R'^8\<;C6!+^$B2 MC,/(B>+0EL%&(\:)QT9NC.)_3P=[6RLK#8A&!)V%W6 MP)=,TZ52 A!UK2IC"_&RZG'J 8\0(.I=7U ) .QANR74=F^H>3U-W*1C$A3< MBHW>C!'F&34)PM8+ZL9TA@2RY:K%OQ)T=*8$!/#_#ET*W+U"0(%>LJBQY*;* M0?BKZYM[W&225=*PFBN3IWE-" >@L9Z4:8=E8!HZ(+SB8NY*VM2DR M"I$#G8LVATW8FEY,(L8FLCFQ(WSZGL&(Q3;Z6A,I-_30V%9>-JU@K&KZQ%>@E^?>:YZHE[TVU =V:JTSOY&$23)S ;\$VF;#S1KPC'["- M7ARW_ NCC4 /TL"&X T1O1&P;WL-M-T+]ZCH.['G'79LWF[F%DJ$]T7 C_XU M[-IL[ 9NX('$CT)NX$8;K$Z%LN^&(-T#L/X@D*;_,2 =H'RBI[7MG<"4? FF M@^"0CHO!R!DUN8S'@!2>(MV1GYSU'$#?R\. M6SL..T.^%V;H \%FCVC,?M_YL^Y>B1J]E[2:YJ@O4&IF.2;J'3YA4S_QGFUR M:KB:HX.WIXLV3*Z-4Z>;EGC?7A)^;0X\SDO*YCYKPN19AZ)9KO"Z $A7*4;[ M-J1*2C'K=Y'-=MD/[H)48_.;0WUMKU9#GN? DH!U^B#AV:V9S9? M!;K9[IO*>?,IX5Z\^2 #Z_ &I5DA9ECJX6 Q:%K&9F!D;3\LW$IC9&EO%X+C M8$<">#Z3TFP&M$'WI>GL;U!+ P04 " 8A*)81EFCI9P$ #*"P &0 M 'AL+W=O@<&6M3.Z-2CE,XW@Z M++E0T7+AYV[,#&;4NR;#[O4/_[&/'6%;?1/&(YK'DM MW:W>_@Y-/!/"R[2T_I=MP]Y1'+&LMDZ7C3$R*(4*__RQR4/'8/Z60=H8I)YW M<.197G''EPNCM\S0;D2C#Q^JMT9R0M&AW#F#JP+MW/*:&R74O645X%$5W,!B MZ!"75H=9@W$9,-(W,$;LBU:NL.Q:Y9 _MQ\BGY94NB-UF1X$_,+-@(V2/DOC M='P ;]0&.?)XH_>"O,$@[RA(]O?%RCJ#-?'/OG@#W'@_'/7)J:UX!N<1-H(% MLX%H^?%#,HW/#I =MV3'A]!_\40.8NQG^!J877(K,@:O%XX^?IBG:7QV?7/G MOY*S'A.69;JL:@9X+$C(NWW+A"NY0!&N9LP)YL16 >N97K(-/[4 YP:6D)&!^4!>9 MA0Q9.8&X!<^#K;"V!DSBS3L&.\)=7TW4%5&V?=1O;#>14>K#2JV$PWG<33GP MMXO*H+LX8-^0;.L/UFM4<@KZ/?YXSBCMI/M F0U[=C6 &3%YR&BPI:M!^8)H M*M=/Z9 J1Z=2FZ>&5PFNP-.B_;0JUL>95E@!A-ZL47'[S<.SWVM2ZQ M$QQ&3QEX34%JVQ68K]AS?NIHU#\9SWOL:-8_F<4]=@5*XSWWZTC?7[;BKCLZ MQ4@:EB1G>\!FTWXR2=ALW!]/3GZR>BF1O[&C>!!/>N$C27JML+Q>V7=@!KP. M*SRVYUT=G,"/6FRX].N'A2+T.)#-HV\ZK#BCRU &7&:U;,M@%Z)Z'11WV(RK MVAU2Z15DO+;0-'=#H^SJ"^D$IZ)VXOA%FP[^0TGUV%U7*XA/59NLP/9Y7K'C M_C29TN_)C-WNU1.6]$^F*4O[>&/19;]/5FAU=H([DSAEW[1#/9WWYY,9_L9I MS/;=X,/.^PJK_-Z_(NDRJ94+3ZUVMGVH7H3WV<_MX96+3YM[@4%*6*-I/)A- M(F;"RS$,G*[\:VVE';[]_&>!CVTPM '7UQK5KQF0@_;YOOP74$L#!!0 ( M !B$HEB\2<=)_00 !8+ 9 >&PO=V]R:W-H965TG*NGM?,@?Z6)G:G_7*$)J3?M_G)5?*']F& M:^PLK*M4P-0M^[YQK(IXJ#+];# X[E=*U[WST[AVX\Y/;1N,KOG&D6^K2KGU M)1N[.NNEO>W"K5Z601;ZYZ>-6O(=A_?-C<.LOT,I=,6UU[8FQXNSWD5Z$\"(+"SP-?L3$"A# ^;#![.Y=R\'"\ M1?\YYHYJ-:$6[OZE3?YC 4OM\;';UIUML-QC_+6 M!UMM#B."2M?=K_JXX>'@P'3PC0/9YD 6X^X9D\"OE'NB(9I0MD@&SV!-]PE/8QX MP^\D?2S=#FWT.)J4S8EO5,YG/=2%9_? O?,7S]+C MP:LG8AWM8AT]A?X_+^A)S,E>9JW'NC>=_6E M@V9/I7I@\KK21CGBW-:V E)>*F&8G?9!YSXZ4FYOJ%&CQI!=4("?A35X,.1N M8*/\25RL56AQ B82M,[9)W$]K!NL.LJ-0B38[BJ''6 #["!HH8O'>(*N%P:I-*P4_&0!.8BA)ICPW>HB.!=J?< W?5@ M 5Q[T"N.8U"12>S7N5;FL[MTO&S!NEEC]("W#C',U]$^+S4O#D(H.-?Q#:[4 M/0N;EL RR^,BX'$V.2H*"5JJ70,(70O&,L+1GA_ M(*#M Q23PF!X=%@0I$)P>MY*GEMP+Q*"]X;C?P\2:VL8[?)O&_C=!; 1_BZR M6)<%M!:HT(N%P"V(IRB;6E%[H#BPH4H@Z?^HX>H89>:@G&MAYD^1_H/>+# M_EV(.GA.Q\-D/)AA,)XED^-TN_\;;JU BN.X.TUFLS&]14FR,X)#&=8'-$Q& MDR'](OFCP4T44<&0 MA*YSTQ;"I^@]K./=\H=6-U)F"=5HBT ;:KVM4"X28\$0% 39-16B[TH*_--& MF#?EVH,CLZ.]>^@>E)&8-E?PI>+-5X'%AS$V2OJ3E*9T3R=T$1'V[ V&4J3*2#29)QE&^*'23J0@Y/CZ8;XYY3"TSB309H,QU-Z[.^O?]"K0(3+V)'Y MKC2ZMF6WNFOZ+KI>9V_>=8S@8:G!K^$%C@Z.)NBQ7->%=9-@F]CYS&V XN.P M1./*3@RPO[ 0_&8B#G:M\/F_4$L#!!0 ( !B$HE@ N\E:M@, #T( 9 M >&PO=V]R:W-H965T#\8VB(HOC6&ALV61-C=YWGH6JHE6'F.K(XJ9UO9<32[_+0>9(J.;4F+^;S M=WDKMC+3UX$?JVE?[IEHP;-MDB.VQ\TKLF\D:^77=R1Y\I M_M8]>*SR(XK2+=F@G16>ZDUVL[B^7;%],OA=TQ!.O@4K*9U[Y,7/:I/-F1 9 MJB(C2/SLZ8Z,82#0^#IA9L>0['CZ?4#_,6F'EE(&NG/FBU:QV617F5!4R][$ M3V[XB28]EXQ7.1/27S&,MI=%)JH^1-=.SF#0:CO^RF]3'DXV=:UL=D>48A+1*5,Y& M;7=D*TUAG4>$8,.\FN!N1[CB.W!+<0^ )H@?K"+UTC\'M2._XL#OMC@+>"_] M3"P7%Z*8%ZLS>,NCWF7"6_Y+O7>G>L5''2KC0N])_'%3ANA1-'^^EH4QR.KU M(/R0KD,G*]ID>"F!_)ZR[=LWBW?S#V8]O50B-^V0>P"V&&B!8]@5D)VDO3RP@R)*MFQ$SHB+;7"OOH3:)S M$<8:)'"!00P-C9%&<5>Y9H.FCKGHCH1"G3KU]0+30(OV*3X" MG]P)R^_M1#?R;6K;D.><@OXHEJ]:U'WDDJ]B M9Z_UA/RDI;?D=VEPI8*Q<>SNQ]WC;+P91\*S^3A8T4)W&J5KJ(;K?/;^,A-^ M'%;C(KHN#8C218R;]-E@OI-G YS7#F]K6G" XW\,V[\!4$L#!!0 ( !B$ MHEC/'4Y[30( #H% 9 >&PO=V]R:W-H965TM#)^SNH0FHLL\U6-FON1;=!09FV=YH%-K (J=%X:0TX7,_98GRQG,;Z5/!58N?W;(B=K*R]C\XG M,6=Y%(0*JQ 9."V/>(E*12*2\;#E9,.6$;AO[]@_I-ZIEQ7W>&G5-RE"/6?G M# 2N>:O"K>T^XK:?T\A76>73%[J^MGC+H&I]L'H+)@5:FG[E3]O_L 7QHT03 M1_KZ61:(-B:S:DNQ["F*%R@F<&U-J#U<&8'B=WQ&<@9-Q4[3LCA*>,W="";C M$RCR8GJ$;S+T.$E\D[_W>)5ZA.^+E0^.;L2/0^WV;-/#;'%*+GS#*YPS&@./ M[A%9^?K5^"Q_=T3K=- Z/<;^;^?QGQ3PN4:XM+KAYAD:='&448"DC/^C%AIG M*Q0M-0:A=K;=U'#-GZ'H#^.$@@B"!XR&1V@-;X4,Q%99.GWC>\M;)6.5@+4T MW%22*_"! CKIZ= A2.];%*-#_RS;N\\:W29-K2?BUH3^:@_1X6%8]//PJ[Q_ M5>@N;:3QH'!-T'STYI2!ZR>U=X)MTG2L;*!92V9-CQNZ6$#YM;5AY\0-AN>R M_ E02P,$% @ &(2B6+!L]>Q @ F 4 !D !X;"]W;W)K&ULK51A;],P$/TKEID02*Q)D[3=2A)I[4#P8:A:&7QVDVMC MS;&#[33;O\=VTM!-:8407QJ??>_=>Z[OXD;(1U4 :/14,JX27&A=S3U/9064 M1(U$!=R<;(4LB3:AW'FJDD!R!RJ9%_C^U"L)Y3B-W=Y*IK&H-:,<5A*INBR) M?%X $TV"Q_BP<4]WA;8;7AI79 =KT _52IK(ZUER6@)75' D89O@F_%\&=E\ ME_"#0J..UL@ZV0CQ:(.O>8)]*P@89-HR$//9PQ(8LT1&QJ^.$_7+!%/N%S5M[F2"458K+HPM$ M.?I>B%H1GJO8TZ:V9?"RKLZBK1.J(ADDV#2G M KD'G+Y],Y[Z'X>\_B>R%\ZCWGETCCW]9D:-L3GX)EKDU"'M/-FGE^%U=!5[ M^V/U UFSZYG?9[6RO*-'7H+F6A1F=(&V".=\*H0^!+= / MX_0W4$L#!!0 ( !B$HE@FVB\.1 ( (H& 9 >&PO=V]R:W-H965T MX_/=>1+W KYK$H C5XJQE7BE5K72]]760D5 M5G>B!F[>Y$)66)NI+'Q52\#$)57,#X-@[E>8(A CANF=Z+]!GT],\O+!%/N%[5=;/310UFCM*CZ M9&-04=X]\4M_#B<)AG,^(>P30N?=;>0L/V.-TUB*%DD;;6AVX$IUV4:.!#UC>H6AR@\(@G([PHJ'CM'37<, M38+]['9RJHU61-3Z_T/N=,>!.68*1L1F@]ALE/-=\-LKY,:A;\G-![GY5:?V M!-+<(GS!;9SYEMMB<%M]RP])\+$#: /,^%T(? M)W:#X?.3_@%02P,$% @ &(2B6,#UF$F9#P ,"X !D !X;"]W;W)K M&ULO5IM<]LV$OXK&+?3269H69*=V,[;C.*DU]Q= MFUR<]#[(A"0T), 2I!3UU]^S"X O,JWD,KW[D%@2@<6^[[,+/MO9ZI/; M*%6+ST5NW/.335V73\[.7+I1A7036RJ#)RM;%;+&UVI]YLI*R8PW%?G9?#I] M?%9(;4Y>/./?WE4OGMFFSK51[RKAFJ*0U?ZERNWN^ 5OVJU<[W/@D196ON) MOKS)GI],B2.5J[0F$A)_MNI&Y3E1 A^_!Z(G[9FTL?\Y4O^1A85W8F*5H,:?6!1>3>8TX:L*JQKW[Q MBZR;2@F[$C!T)4E33DB313/1$Z?71J]T*DT-+::V,;4V:U':7*=:.?'@7?CT M\-E9#9Z(\ED:SG_ISY_?<_ZY^-F:>N/$:Y.I;+C_#+*T LVC0"_G1PG^+*N) M.)\E8CZ=7QRA=]XJZ)SIG=]#;]$)',44_UHL75W!H?X])K"G=S%.CZ+LB2ME MJIZ?((R3Y\>X?:BY?;B&/51)S*7RJ=B5=[(PN=.O&3 MS3.([Q+QQJ03\:#>*/'#=U?S^?3IC2U*:?;\;?;TH=#P'9$C.;!_5':K,U41 M-[5*-\;F=KT7*5A"R&!%(LIFS,+I\Z' $=+!L',LX);=*\R6"V-+=-]A5GNJ8LFUKF4>!?&QJS[#^%J!92?J M366;]49H/,N4*OW#6CLB(U2AJC4QVQF(Y$\W0H(4EB'L-=YIZI;9O2[@3-&6$LZMZ)R%EIK:H$24R M?@UI*%L3^ZQ^L4%N/07;7(6(A6BW%)X$AQ]W@PT<\?<&4JC*!6O#%W1)ZLH1 M@>28G9>0HXA;%M8DXD;F&N<9+2=' O-1&YB/CH;42^EP @[DH#L7!:_B7+$Z*55\-,S(+9WC M6M_Y.+E%+"P6[]K< 5VSFU6ZZ+&GC4<>7,'-*$-T2-7DP5DJM6[R$$24>/#P M5J4(V%J'%:\_([+-FOVET([Q163K]O5-9&@B%GP0I,H1%""T%YD5QM8QHR!Z M\WC&(9\K:VLLQ9&5^KW1I,OE7K12L[1DL%PAGL>LX5WZVPP)8$.HA_DSQ%8> M5 ,]4!9"0OL-T,(OKC<2*RM$;3"8+;4A,8)DAU&% 1B5U-73.0 8_(5;= =*(VZ+A*6_9#,*_]6O :]P8ER*A*4J,C!H4H0:!FH^, M%8L^"<-FBMQI^*HV&0 ,I\P#AEC^0N[A^9P;4U9K.&R/9$Z'$".O0*Y8HI[% M@]A$3HUX;<\6;F.;/"/B!)I)Q[#?;XWQH+1UX$,M1[./TCSD3F5WF#N/3II% ML]XYP9@&9!'IMJH%>"&4*V;3T[]YE?3V@(L)\O'1#/>N2R P5.?K]Z3+;R;V9R7-F OJ0*XQM3L('5_$?*Z@,NR:I=.9 MAF.J+OQ0R1&?-5R5\V#W;6=P-&<+4U"/7/]!YJ7?H4Q*,JVLDJVR3!)#H_0O3(%%4K&O[VJ#G\WF:PR M*&RC"1QF646@:0,GD1V&4F1>( #DQ)#VU%;F#4'6W49!9'AV#7FH2XCN3.3[ MY3XX"-7Y^_QFW\KZZYO7K901Z!9 E1"83T-P&;&UOHY0?QX 95?8(Z,9ZG!5 M$'Z/G$*E5$2@CEX28+MY)@Z-Y#H:F8]JR'J@V$-*K:T([\O&J8%?$$WZ7MH= MR6)#BN#?@N2^(EMH9MBDH]!U@$<',JA1E*V7 ' ,ZWUW/^##"R6=4T%5^'6) M1TSK<'&@2.65!-/@@C(HT)JQRG7,9=RD?1UD.)8!K]H,>'4T,7UTG"/@I6"L'D]M_QT%MH6'X@,H M]:V%:A0Y=Y T.*H;^""\KI"?5(\I#B#GFJ+T=O0%;+6*GHGNJ?$@E))AAS^^ MC>L8KFV59E!-V+SVZ,6#N-0'L08;E4_A-4.S(=OD*VM MS78ZSQ/ATV6@C6J0?CJEF:/OI:&SKL&@_ E]4+?,P9<%3"U*N:>+H13.4O+S??%/WP%<55738(06EM9I]H)C 73=!M#U4?=? MY+G=L7-R2[-<9 M-J[;]8T[5F[*HAD2 ^PKH ][DNX=D:>;KVI6"X M*6"9>$@'D*K[6E&WD94' M5K\L;E\M_C&A'F; 4H^9$4Z(IC^>F>G)"G: (UQ#$=&X6$=H5*U.;V25(RO: M3.4TSL/VT\/M,7C1ZOJ30"\FDS[!E[F$R6[3C05P/OT9D4616OHXAN2T+AQ$ MQN"/79[N.O$V34MA&FX#P<$GM1\D:I_#B&3;YFXMC4HH.27=CY0U$L E]^ET M176S!5](,"II!XR\-M,$P$UV %DC[/,J[C/1.(^$@IKK8,2AVU(82:3JSC;> ML@!SO"(,HBI)E7Q+BF5]2G8CH.+?J!99DW/YDM%K.\N+!VJRGB0"!HDG!RH/ MDT'U [=>!!KW$WX\I:"%!]>57C9,J@!:M)07:=*]N+T1'VRI4W$YNPJ_>8"# M[-,+W4%X^Q@FO#L\9>EG?5L5YAZVEL'X2+JJE* G"G*V M-.[='0(LEX0D/>! 1W/:ZA:&2#=M'#+QA\$FO0CK1]Y!F-V5N%5'=B?XI2_N MH-XZ&@W7U=8[>^!B]+0AH> B=^T% )'Y#33)'!J=NA\=[![ZC%5N;14Z#3J+ MYI["V6Y0XD&/;WT/!8V.V1/8=V1T&&<.S4DQ5Z1]6 BBU[9+3F/9A1Z2<4"+ M4%8/''K#L_PRQLX'ST$B]&K$FT/%ZO-'O49@+*?&CONH^[/EX.@H;J[6/"4. M;,JZXRAI78)40,B'DE,%^7U*Z'$2F:- /E#16$EK3V-[^*1TG],G,31=NY,K M3GCXI7(W3%E$9(_ 9Y$O>#+G =.Y_YP05"5?YE'!,%L6DF;)YL[=*O)HO+PF M\?U3#G3\6RE--Q_4D2OCI],V39OJ&!*;]6Z%9U\:Y_A*2LD!YD!B<(R*[[U1 M/$YP_-KS^"D#'861=$SVT9 M8.5 M*KSF#8_QSV>Z42$I']("S !N]#?ISR2B6X;80>]*#%TP24VJ"TG/7AR MN!^1A*$=E2Z"%W03J:)&:#SD;< F:"7M^D.;:@8[A",8'71T,YWQ:,4W;]R8 MDA+[=Q)6V(;O$;;:-H[F]\ 0QWK$'0T&?.8F5ZHKVT4;I%MKPW>R4-%?I>&A MM;?D;.)U4/F[@?XUSM=>.)Q3\'?^&=K=E27ML<:I'7L"#1"9_ML.8M'KDM^W M[H\O-]$7_AX-^X#)0A<0UCT4OV#31BRP!-$BOA>/SY/KBVOZ,$UFYY?B=5/9 M4HG9H^3J^H+^7$^OQ%N>:\WQ^"*9GC\"4B%$\3YZ[/?B:II,KZ;=AV.I9-ZE MDOG15 +!H!ARF,S>O2VTQE)+V1FRBLN#Q>]=/9J$_C16;MA5V1.["0F-Z5$E M8$_M-OY&CTS]8^N4O9=%;MN1Z4O+4*P')WYS3]#%Y@&87N_>XHT@(7/,5!F-W;M08+B MB[S5M6,YQ?=NG05'M'PX2*;9MFRG+T*#58;NH^W>/=.B.(1(QN\8DU8\*)J[ M,G1; .8NT"4X0=,9'JI(MQ$KRGH3\?YK'5&\1?\)B,T%HBL.K*2P%^;B)Z?3 MRT3\9YE?3A^PBL_E3\::@<8UJ\Z%?S=/P2."5=M0F$PI( M/+@"6J+\@ S;/HGM8HBP"GQG@V&Q"]0"TO)1Z,?G\1&P4]&[J>K?++;Y*[3+ M'C:MPUL<=H7B82L>O'AO7#?:#R#YS9>VE8WW021IN-4)<:''W@KPI_H93/'GC2U-NS9 4!L+8);T@ MTY.%>R)T=731H$9XZ@M+DG#E[DGC^T=9^)I#O24\Y*Y:/"!BOD;*HU>[4;M. M]32,:*'-BOOJWE5PAX%=KW#*%>&(%@>AH@17]R]E>$[N$B 5@.$5I,(!'A5_ MB>B%;X8'1=QK/#F\M.HL%28.$>'T$PG6M:+C![YI^]+HQ=)%\,[.OD M3LB^\1/6#_)S/U1CM%]>'(GV\:VQ8XEA'NS6^PWY:'7 MQ#@<.A3OB:BY;*^7_C_>-0:LSGHO\=);>?RJ,E]1F-J_S]O^VKX.O? O 7?+ M_;O4@*=0,[7@*VR=3BX?G?CKS_BEMB6_$KRT-7 F?Z27Y51%"_"&PO=V]R:W-H M965TB!VIW5DN82VY(KF3UU_<-5UK+J.T>"O2BY*X_'X@/XYQ8Y85BKP!V=^UV6L%]EY1B57JC/QJ]O^POMXW@I> MX4Q(O[3M;6?O,BJZ$%VS=P:#1MO^J^[V.APYG$^><)CN'::)=W]08OE11;6< M>[1YPIGGFQQ[_J\:=/X)_2M;.Q#O3)EEP^],_!=2 \/1"^FCX+ M>*W\F$Y/1C2=3&?/X)T. IPFO--_%^ XYC\N5R%ZU,R?C\7<0\X>AY1[=!%: M5? BPT4)[#><+5^^.#F;O'^&\&P@/'L.??G%;CA$W(L82%OBGYV..PI<=%Y' M).DQOO\-D7ZKF3ZXIE5V1[4SI9@]<&F[%2HD%4[K]49%-KLW-9N28)$PQG09 M*![AE [ UD6JU8:)-?8\%:@5[PP(K@$;&>I%NE'T\%,(R[EK@ M5PD10#(2'1]#>K3 (5RGLMXTB5U-XFU=X6 I#H M4M3*KN'GN7 (^B]8 O77)(^VA6LX?\5WH!OX]8@LBR"),K0K9;644<"-+96$ M'2(^/3O$@_+N[S> 4)NUO*Z07Y;'SP46:] MW7W"I %H@S0RLH1W2:T,'\?S M4'LT#^I +Z7KV&ROC!Q"R@#**GFEQ_1]L'["9-0'#3%WDK<>3H,T%K_*N(;>2RYM"0UFCX@YVD-QY$(0 M>"1L4*G%A!2G+B7WA3)]X3;:*/] 2Z1!J ?5".'0,1ZT2V-HC1;:)T?2@5-0 MB];9-VB6MQP3B_L[.:)MS:DHD F3RB1I?)B-4@;^_R)Z[('+C]I3PWZ=FC!$ ME^+H.]6P.O3YR[Z]W9OW?Q+P^J]%)<,57"?C=V\S\GWC[2?1M:G9K5Q$ZTS# M&J7*7@RP7SD7#Q,Y8/CWL_P;4$L#!!0 ( !B$HE@B,L=XRP( 0& 9 M >&PO=V]R:W-H965T*R'-)"BMK4=A:+(2*V:N58V27@JE*V;IJ%>AJ36RW!M5(HRCZ":L&)?! M=.SO%GHZ5HT57.)"@VFJBNF_[BD:]*ZR["Z;AF*WQ"^[U>:#J% M>Y2<5R@-5Q(T%I-@UAW-4Z?O%7YPW)@C&1R3I5(O[O EGP21"P@%9M8A,/JL M\1:%<$ 4QI\M9K!WZ0R/Y1WZ)\^=N"R9P5LE?O+WW \@:8U6U-:8(*B[;+WO=YN'(8!"]81!O#6(?=^O(1_F1 M638=:[4![;0)S0F>JK>FX+AT17FRFEXYV=GI [.-1E %4)TU<$S)BUE,5.-M%RNH%:"9QP-7#ZSI4!S-0XM1>1PPVSK?=YZC]_PGL"] MDK8T<"=SS/^W#XG)GDZ\HS./SP+>,WT-2;<#<12G9_"2?7H2CY>\@3<[T%WL MZ/Z:+8W5U$Z_3Q%N\=+3>&[$1J9F&4X"FB&#>HW!]/V[[DWTX4RTZ3[:]!SZ M](E&-F^$+^YK@[8&9H"]1*.[,# M.SK<^C%!#5]5RQ4N/:QJ#'6RN8(',BIA1BJ4#+B FZ0S3(=.B#K=I ]WC:;N MAVZO,QBF[C.,!O"-XM(0TW/:B9(>/"O+!#E>HVRH"RY@$'6B07003A4P/)I, M ;ZIV2/>W^Q4W:R?[H-[N1\KBBM-P"BS(-+KN]P+0[&ULI59M;]LV$/XK!S4H M$D"-)5FRK=0VX*3KUF'I@B;-/@S[0$LGBRA%JB05)_WU.TJRYK2.46!?))+W M]MSQ.9+SK=)?3(EHX;$2TBR\TMKZ8C0R68D5,^>J1DF20NF*69KJS M&E5B% 7!9%0Q+KWEO%V[TX/]YY?]_F3KFLF<$K)?[BN2T7 MWLR#' O6"/M);7_#/I\68*:$:;^P[74##[+&6%7UQH2@XK+[L\>^#C]C$/4& M48N["]2B?,&&^XJ9.#T MCJT%FK/YR))KIS#*>C>7G9OH!3=CN%;2E@9^D3GFS^U'!&G %>UP749''5XS M?0[CT(-H15CX$I5:RZ92]B'E3'$^[T:^,!D#K\K M+BW4NRZ TC"$,(@@CME"?/WZ9Y E/KCV.$+I_XL MCHFCF6HDZ=3LR563-C3+=$.Z^$@'M'$U(0,WF&! MVL6P[-&)(S^.IB2>S$C8H3E0: )R&OMQ2)HGSB::1&=PT^BLI!,1:LTS*@EM M=]8U"N&GNE(1"'_B)U3@(QQ/!HXG_Y/C!9?\;0C^ YW8T YQ7#CO?R@ MJ?,NLM(4Y FH^'*#.RLZ,;-R.#*!:>>U;T)SI%'>NSSN71[PN4OC#UZ\N/RL MK7PB7X:UA2=DNFTR=U\1 36*-G53\MHUVXRHDQ#?.T5:&/MQ,H99/U_M>&]4 M8;<.>9HF$)TGO?SUJUD41F^'_YUF.8)D%4*<3B#JU<(D@K@??U3R3::J&JF, M;*,172/_Z"FDUMJ9=^3?[= S!NT?&Z[A3_J6/\3JT=YE3+78M$\. VW[=O?R ML#J\:E;=9?Z?>OV9T$ZOJ]FI?*TN%;X&PO=V]R:W-H965TAZ ,MC2PB%.F2([OIU^^0LF4W=8S%]H4W<C^4&0&JR9G-3^4.[(\E?)=C2]$M+"2J@&X=6]F"MTK\*\++'ZVCYE0QRK=LIJE1P&OA3V!+.E!VD\' M1_"R3F46\+)C*C\'E9?2Y; E,#'EU?= M^06FEYAC/4>[72*;'ASBI0V_(W5.%_\*\-[3@<\CJ"O:/Z(-%ZZ8\P$XJ! M$=YW//:V?<(5*D@V?;KI,WC%O*@RC6,6[O73*%YU7,\#UQ%<"%; /_)R7#ZJXRE-X2VYJ-=<23K M%OR>'V-^\);&2?*X;[,_NW:'\O/\D]&+ U#7@6&X6YX_/8+S86UC[C&2)^VO M+/GJOZF/PR2]]+1_X.;]1B0'O6PX?&;T*\?_IWZ0)D_:WU!_Z"V*]\I%C781 MBB*GMFDTM96C6^WJ[GE;;G;;VZ+-4A92.U!8LFG_Y.UI!+8MA.V$S#(4G[DA M+F5A6/&_ UJ_@;^7QM!VXAUT?R/3?P%02P,$% @ &(2B6"C").9' P M$0< !D !X;"]W;W)K&ULA55M;^,V#/XKA'<8 M6L"M;=G.VY( ::^'#5B!X+J7#\,^*#83"R=+/DENVOOUH^0DUP*Y[(M%2N3# MAY1(S_?:?+$-HH.75BJ[B!KGNEF2V*K!EMM;W:&BDZTV+7>DFEUB.X.\#DZM M3%B:CI*6"Q4MYV%O;99SW3LI%*X-V+YMN7F]0ZGWBRB+CAN?Q:YQ?B-9SCN^ MPR=T?W9K0UIR0JE%B\H*K<#@=A&MLME=X>V#P5\"]_:-##Z3C=9?O/);O8A2 M3P@E5LXC<%J>\1ZE]$!$X^L!,SJ%](YOY2/ZIY [Y;+A%N^U_%O4KEE$DPAJ MW/)>NL]Z_RL>\BD]7J6E#5_8#[8%1:QZZW1[<":]%6I8^0Z# \B-W?#DW>@_&6Q.:%T*JP9O(">4OY M:+(CS3MV$?"1FUO(LQA8RHH+>/DI[3S@Y?^3=@QKR94+V3\![LU9UC?!'S/.-+[Z+2U)/68>U9N 9AJR4UMU"[&3Q8)ZA7Z&QE_3%=7-6$ MF_N(%;8;-$&Y$@I>D1M['437Z-Y2)%+O==OU#HU]'QG8S0@^0%;$C!5>R.-) M/H9/O5'"]0:#]5:\>-E"?I.ED,5E.:'O.&?P.U+G-EK6(%JJVS-Z3$N@WB#/ MP[?(X4EOW9X36GY3TA;+1X?O(Z\:*IL9ZL%[:DN]$=0<4!"O]#&6ID8I<"3[,) _6:N/$MV'C*F/Q-)UZ=;X3.-U*%2EK<_,<\CB8NR%:9R6Z1DN[T,7 M\;284N0\GHZF0^"2Y;26<4H)7GH1%(M1M0]!>O!E3+9I=&,:6"/?* M#1/KM'N:]ZMAS'TW'WX6]*QV0EF0N"77]'9<1F"& 3PH3G=AZ&VTH[L*8D/_ M+#3>@,ZW6KNCX@.<_H++_P!02P,$% @ &(2B6(#F5;:7 P - @ !D M !X;"]W;W)K&ULC59M;]LV$/XK![4H$D")WOU6 MVX"=M%N!=0B:;/LP[ ,MG2VB%.F25)SLU^](^2VI8^R#I2-U]_ YWG.DQQNE MOYL:T<)3(Z29!+6UZU$4F;+&AIEKM49)7Y9*-\S24*\BL];(*A_4B"B-XU[4 M,"Z#Z=C/W>GI6+56<(EW&DS;-$P_SU&HS21(@MW$-[ZJK9N(IN,U6^$]VC_6 M=YI&T1ZEX@U*PY4$CX<_.6[,D0TNDX52W]W@2S4)8D<(!9;6 M(3!Z/>(-"N& B,:/+6:P7](%'ML[],\^=\IEP0S>*/$7KVP]"08!5+ADK;#? MU.97W.;C"99*&/^$3>=;9 &4K;&JV083@X;+[LV>MOMP%#"(WPA(MP&IY]TM MY%G>,LNF8ZTVH)TWH3G#I^JCB1R7KBCW5M-73G%V^D5:)E=\(1"8,6A-")*D M3['/)SZ--[ZLVJ M)=)J"3]5\!39LW"GR;ZAC%)10QJ+E5O;U@A+):BSN5R-X).QG!J%OLV,^TRE M*VM?NULLL5F@]H,++N$9F3:7WK2U:@T5@X8W7O#DIE$PU[6FYFL#@ZLDA?>0 M]L-!-CP8#YI5*%F#!M*K)(8BS-)\^YR5/UJNB8E12[MA5,WTNH#AL/O]KN15 MJ9HU6DINI1'IF*':IU ,]O/T8/R&QHP(MFR;5O@<6:.TY?]ZGG Q M#-,DH80&83+L7?Y38:4ISL%MM:UJY<4< _8B=(5K%&MM*]UYI: "WPJ15LY M4K8F#4#3'5SH#JY7?"XA"^.L<'9!9B_U9H_,I#=P9M^96>S,@3/C/CS42-?D MTI*Z\&#LDP<)'"J\M'124Y]L/+WE:&FHR2Z0WT_N[\29]U-<'#O[E-* M8,6E 8%+"HVO^U1HW=U1W<"JM;\7%LI2TWFSIFL=M7.@[TNE[&[@%MC_49C^ M!U!+ P04 " 8A*)8M/OD-<$" !,!@ &0 'AL+W=O5.J1)^& 0#OV)<>NG4G2UU.E6-%5SB4H-IJHKI MEP4*M9EY?6]_<,?7I6T/_'1:LS7>H_U>+S5)_@$EYQ5*PY4$C<7,F_FJ%K_G,"UI"*#"S+0*CY1FO48@6B&C\WF%Z!Y.MXO%^ MC_[9^4Z^K)C!:R5^\-R6,V_D08X%:X2]4YLON/,G:?$R)8S[PJ9[FXP]R!IC M5;53)@85E]W*MKLX'"F,@E<4PIU"Z'AWAAS+&V99.M5J [I]36CMQKGJM(D< MEVU2[JVF6TYZ-IUGF6XP!]Q2F@T:8#('94O49%UKE!8$9RLNN.5T>_G 5@+- MAZEOR7@+X6<[0XO.4/B*H0ANE;2E@4\RQ_Q??9]('YB'>^:+\"S@+=-7$/5[ M$ 9A? 8O.D0BVGB:E9 MAC./&L:@?D8O??^N/P@^GN$;'_C&Y]#3>^K/O!$(JJ#:?DL63WERUM9I3QY* MA$Q5M9*$;]Y. S:H$9B!0@F:#68""XAZR2"F->R-XPBN70<10HZU,IQH#OLC&"8#PBZ0*.4T69Y1-@B# M?@#)< B/3)#$1N6\FQ!_GW=SEL*[YM* MP()4@ZMAXH'N9E;%2EF+GMB6->]3M [HOE+)[H35P^(&D?P!02P,$ M% @ &(2B6*R9QYW+! SPL !D !X;"]W;W)K&ULK599;^,V$/XK ^^!#:#8.GWD,)!CLUN@:8/$NWTHBH*6QA(;2E1) M*H[_?8>TI!R;.'U8/\@\9K[Y9C@%,?7!:*33 DNF MA[+&BG964I7,T%3E(UTK9)E3*L4H]/WQJ&2\&LR/W-J5FA_)Q@A>X94"W90E M4YM3%')]/ @&W<(USPMC%T;SHYKE>(/F6WVE:#;J43)>8J6YK$#AZGAP$AR< M)E;>"7SGN-:/QF ]64IY:R>_9,<#WQ)"@:FQ"(S^[O ,A;! 1./?%G/0F[2* MC\<=^H7SG7Q9,HUG4OS!,U,<#Z8#R'#%&F&NY?HKMOXX@JD4VGUAO95-R&+: M:"/+5IGF):^V_^R^C<,CA:G_BD+8*H2.]]:08WG.#)L?*;D&9:4)S0ZPXW0:[@2\9&H(4>!!Z(?Q#KRH]S%R>-%N'V&E9 EGQ%51 M+E"<30%G+L*HX,^3I7;K?[T4@"U^_#*^O3<'NF8I'@_H8FA4=SB8?WP7C/W# M'>SCGGV\"WU^SC7+RK%FU^?AN&@:30TVWL\VBY8:2\Q^IVM2EP J9.M4A]*G&% (S M1O%E8S #(R%'F2M6%YR\P)RDM;MJ&30U&>T@.NL]MO,@ Z[(F1K=_>YD>ITE M%P(S#XC3D_56+D-!6FH#*5:&(&M4MM*Y4-"V+2E#N&DH.5AE.!-B _3IM%N_ M@1->H^ WJ2BG3H@:3UGK"?T)9LAK3%?@A! MXLW\*?Q.-!2$WGB20.SY40(+:9AX.*WW,)EYTV!"@ZGO^5,??G[&D!]T"(9H M"YJI6S3Z8'7&+&&9 " MK=+S0%4AM*Y'$([)TP N>,6JE"+E>V$^'T:[M,32YG+[.%-8F\:VLR=^%X2CNE [C';7Y&%V(N#T$4];H/9 MLTJF"3BNX>';4=U1F).^,"<["_,--4A90V^FC1>Y:"N(>BC27-]Z-E)V !?D MO50O5>S=-G8?&RME4QEKK2M$&470ED3WU"%+BX=BB?..(WSK/ M#C. 8#R

J*<,9_;U.MVK*)2F0V8Z0_G^,MO7;W:>F:B<*4^1W#GW)A+VJ ME($G[ARH=R"G;?-P3D+.IIVP8/6JRB'[N6DD- M#G?;;_6K?;=ZLFW2'L2WK2Z1S#D] @)7I.H/)Y0$:ML^;B=&UJYE6TI#L7+# M@CIN5%: ]E=2FFYB#?0]_/P_4$L#!!0 ( !B$HEA$#Q'G' 0 #X* 9 M >&PO=V]R:W-H965T@#+5U;Q%"BAJ3BY.][2E#4\SN6C!=8:BY+4+B>>]?AU9V JA7;_L&W6CFAQ6FLCBQ9,%A2\;+[LN3V''F :_ 0M8#(V=UL MY*R\8X8M9DIN0=G5Q&8;3JI#DW&\M$Y9&D6SG'!F\3N2) UGCVPE4)_/?$.D M=LI/6X*;AB#Z 4$,][(TN89?R@RS?;Q/QG0613N+;J*3A/=,#2$.!Q %47*" M+^X4QHXO/JWP[^N5-HJ"X)]C&AN*Y#B%38PK7;$4YQY%OD;UA-[B_9MP''PX M86#2&9B<8E\L*=&R6B#(-3ACX59J ZS,8%E7E4#* <-$._>Q;#*10OJ8D--; M_5FA(FBY >'(\)F2F[Y<4X*E4I$'P:8*V*.R\7QA&6S8TPKYA I,CBW6H"J& M<%'3:X0H6BB 6TT /DRS3MG.DG4B%N&E&1JV*)"8!K64E"%T%?PZ'CZ M4=6@'?*,E[21K#5QZ7,X%&0IX2V$@_ RIN]D&L)GIK@-[OZ*R1C"RP26N53F MP@KI3XX2N)S"H[1G?L :1['[!I-XWS?\U2MTDH(9,MI(D ?FT:F6FKEZI.VA M_U_932@(TL4%-R]0L1=KB&ZDCZ=6>C1IES&MD:;DRE"-)E:BPNY1=7=$D3H]BD.X3.WEY$O0.WOK5AEW&=RKHT0/YP MX4;)=B0Z[S#%8D5QWH[&AUZZ/D#N 7[*G($5_8),:8B'$?V2[W'[UDYHV3OZ M#^#=B7(SZLK-Z*?+S6OZ-*%RSPSELXV$8[7E)._Q(GEX7/:@!]^E13\"MUP( MNN#(COVJT!CXL OT@X1P#CRCL!9UUM2C_ZA%-HKB03(.;6]$S4D0V.88HD$< MN]$)-8-P9)M3B*8CRE J56Q-3H1HO%\AN@0,"3,.R%I--O.BJHW+.,(@U9"S M<) $\7D+I30+!N/1!(YYU>_=Z06JC7NY:'!AT5SOW6CW.+INW@2ORYN7%2G? M<$H?@6N"!L,).5(UKY6F8V3E7@@K:>B]X9HY/?!0V04TOY;2[#IV@^[)N/@7 M4$L#!!0 ( !B$HECDFNG>JP4 '(0 9 >&PO=V]R:W-H965TT&MM)'CJ=#D2N M)-0DP *0%??KNP I6DDDQDU?.O4#!9"[9W>Q![N S[92W>HU@"&?JU+H\\': MF/IT/-;Y&BJF1[(&@5^64E7,X%2MQKI6P JG5)5CZOO)N&)<#*9G[MU<3<_D MQI1 :S(=ZKG V[E *7H'0 M7 JB8'D^F 6G%ZF5=P(?.6SUWIC82!92WMK)N^)\X%N'H(3<6 2&/W=P"65I M@="-/UO,06?2*NZ/=^AO7.P8RX)IN)3E)UZ8]?D@&Y "EFQ3FBNY_0G:>&*+ ME\M2NR?9-K)1."#Y1AM9MS A>JTT3DN;%*NC<*O'/7,]-K(_/:%C:L@N:PPUYJYY3JY88L2 M]/!L;-",%1[G+>1% TF/0(;DO11FKM\I#L?+V@OX'NF1B0, M/$)]&O7@A5W,H<,+C\6\9@I>7+B8Y^P>*6;(3"DF5N#&O\X6VBCDRV^'@F^P MH\/8=@^=ZIKE<#[ 3:)!W<%@^OQ)D/@O>SR/.L^C/O3I->[)8E,"D4NBCV3N MD,^]J(=]?EW5I;P'.&H')]K@OLSE2O"_\",7Q*P!7V/:12,MM"QYP0Q.M,$? MN[S:.E]*K0D3#:*"M=WE=]"\WC+\I,E2EE@Q]"FY62MT8Y]3C@CV$9(39U5N M-(+I(;FT/B&^@CL0&R!/2911^TQ\5%UAX*"X6'G$QLE4OO:<%P6*E[)VV0\\ MFF7X3.*07#/< DX"*]8M&%2U7](4GWXWQ+%UAJ1>-J$D M\#T_FY ;:5#JZ$H^)4'@A>'$#D*/QBGIX4K<<25^-%=D_5 "N;D_1)'O@%G7 MOX8A&TR&5,M M4!$=^\4A:O+)54]2<,9E#SG'QD M)6;X*P)\ W2)O+%[>8,)N %5=2:Q0R$G16%SRAPI7T$.SK&VUH28Y2A+O(AF MF)EP%$'X7 G>MS.>TN\KJ!9(]1'ML1[1J@7A2&) M1ED'JD,OSE*;Z70T\3L!7) ^CYLH* MT-2+H\ )I*,H>3Q;$!B+2A30-HP0?V//3Q+T)?Q!MF1AY$5QZ.I0@XCSU"?) M*.XI1$E7B))'%R(LNYCRO&D(EH8;P4UO7>K%/MRZ;I#$3?>PJVA?+Y=O? >Y@<6 #O+7$(J\LY=\PKEJV M?Q"[+&V9*O11XJ9TXM&@S,=6) -VC[@E;!CM!/8XH/ 4S!KF^@F2 MQ54I1'L0WN-NX,6^/^SH?]C- QP*'W9-$/5UL+0C3OIHXM2@W U$8 '1=IE[ M2=./^R_Y,?^/\>,$RTA&:5OO+4?2KSER0H?VW$(3+VE2%(WB@,SWUI3E:XZ' M('<"8L4?>/%PPQ-D"M[OO"1H>M^(!KWT:OT8=HX\ECU8#^G.1I21WX_^N7"O MH,8>9%%-<^8$9?B2XXOZ2$QH-$C]9[N<&J96V,ETDY!VF49NG3ILJ^)_7R7\ MUAV,F%A.FSCD5+KO#EC4I88FJ/O:P 5'-#;>9&%F[6^5"&KRC MNN$:&)XAK !^7TII=A-KH/LWP_1O4$L#!!0 ( !B$HEB;3RU=O@, ! ) M 9 >&PO=V]R:W-H965TBC[0TM@BEB(5DEIO_SY#RM;:7=?= H9,,R6,S\VE(O9JJV@DM<:C!U63+]]PT*M9L'27!8>.#;PKJ%:#&KV!97 M:'^OEIIF48N2\Q*EX4J"QLT\N$ZN;H;.WSO\P7%GCL;@,EDK]>0FO^7S(':$ M4&!F'0*COV>\12$<$-'XL<<,VBU=X/'X@/Z+SYUR63.#MTI\Y[DMYL$D@!PW MK!;V0>U^Q7T^GF"FA/%/V.U]XP"RVEA5[H.)0]N?PGH!T'Y!ZWLU& MGN4=LVPQTVH'VGD3FAOX5'TTD>/27Z8EEUL#%=)5%4PC=![9 M6J#ISB)+&SBW*-N#W31@Z;^ ]>&KDK8P<"]SS$_C(R+6LDL/[&[2BX!?F>Y! M/PDAC=/!!;Q^FVW?X_7_*]LE9;ORV?YYO396DSC^.I=O S;P-K-SZ5S>\+% V"A!=4I(8)T*P* UM*AM 9;,V2F/= MB< 6FV4#]*XSEN+GPDG Z2B$-TS1Q]^I;O\SPQ(>LXREY)G$* MC\HR 9-P,AS3,TYC."?-Z*A+405O?2\V1*Z6MFE8[6K;[J^;+O?JWGPK4%_8 M)FZ#]B-H\1-0 M2P,$% @ &(2B6-1Y9=\%! .@D !D !X;"]W;W)K&ULE59M;]LV$/XK!S4H4D"UWBS+3FT#2;IBQ=8VB)/MP[ /M'2R MB%"B2E)QTU^_(Z6H:>=ZV1>);_?<V44M7,T%3M MTJ9(4SJD40A^$LJ!EOO/72K5VI]5)V1O &KQ3H MKJZ9>KA (?%Z[YKC)V(5@O6[;##9K;]DK1+!A1"EYCH[EL0&&Y\LZC MLXO4GG<'_N"XUT_&8"/92GEG)^^+E1=:0B@P-Q:!T>L>+U$("T0T/@^8WNC2 M&CX=/Z*_<[%3+%NF\5**/WEAJI4W]Z# DG7"7,O]KSC$XPCF4FCWA/UP-O0@ M[[21]6!,#&K>]&_V90>E#U-:';@0G761(XW MMB@;HVB7DYU9;W!'*3; F@)V*'>*M17/@3=]O6WB3F_85J!^M0P,.;1F03Z M7_3@\4_ $_@@&U-I^*4IL/C>/B"B(]OXD>U%?!3P U,32"(?XC">'L%+QN@3 MAY?\1_37V$IE>+.#O\ZWVBC2RM^'PNW1IH?1;/^_36+U]$ ML_#-$:[3D>OT&/IZ0_U8= )!EM0-]]ATJ&'[,(@$%0B9NX(=(GX4^C#QFPJA ME(*ZUN;%6 V VVV,/DZ S!08,C>50H2ZUP!:#0!5,*_&$CK9T2"9@'5W*>N6 M-0_ C%%\VQG"?P378"1YU2VZ-H9<=@T=L@RH)POH6O([$J 46?\C,Q=2,8'W M!@I>EA:N5+)VAUK%B6Z+]"IL/_.&.PQ3,0-[]CP'6RZ$=7"-!&ZI?I0&(7*9 MJ*5" C:,"PWN4Y8+IC4O>0^F;? V44^;I4^/30V<+& S)^G$=Q(PP1%,U3Y!+*%/X\R&LQ#/YR'<$30Z2CH]-F"%K+9O194 MV (H-6BT#PW=2+3#\KRK.\%L3 62 '/>E\!*A]6V;;_^5/9'"1R6_>\_,J%O M82ZZP@J%KD)E'IQG_-SQUGX[_C_1"5Q5#YJ*+T8]:7?HG@F;[$%;0S.\?#&/ MH^R-_G>*@)&N^LN4?Z75K;UAS^#<(7SKL[>88[VE^MK)*7POI@VJ+6=45I)# MEKKW-,U^T!BM+>;TC+(IW-XINNG1K3/"2+RTS@>%)7X46@- ML]E\4-0)1.0IC>T@\I-T?E!(P9/[C+IKYVYMW?=\?[6-J^./P7E_'WX[WO]5 M4!YVG/(KL"33<)*1)%1_4_<3(UMW.VZEH59VPXI^;E#9 [1?2NKD86(=C+]+ MZW\ 4$L#!!0 ( !B$HE@\$)[\2@( $8% 9 >&PO=V]R:W-H965T MUL!./)02V7GM'*NF3%F M\PIJ;D>Z 84GI38U=VB:+;.- 5X$4"U9'$535G.A:):&O;7)4MTZ*12L#;%M M77/SYQJDWL_IF!XV;L2VWNT)E[)1NM[;WPNYC3R 8&$W'D&CK\=+$%*3X1A_.XYZ7"E!QZO M#^P?@W;4LN$6EEK^$(6KYO2*D@)*WDIWH_>?H-=SZ?ER+6WXDGWO&U&2M];I MN@=C!+50W9\_]'DX HPGSP#B'A#_*R#I 2%SK(LLR%IQQ[/4Z#TQWAO9_"+D M)J!1C5#^%6^=P5.!.)=]Y:XU0'1)L# ,]ZFUA*OB\*S^Q(JM$J7(N7*8]ERW MR@FU)8V6(A=@R5NRD%@-7.5 SE?@N)#V G?O;E?D_.R"G!&AR+=*MQ:);1A]. MB?U/9$^D)X/TY"7V[/&=<7Z00K<;5[;R4!0GG[8CG 9"/U)VV3BY>I^RW;&F M4T[39'#J8F5'5>XG#);%5F"U2B@1%HW>75)BNJ[M#*>;4/@;[;"-PK+"00?& M.^!YJ;4[&+Z7AM&9_0502P,$% @ &(2B6#CM^'.C @ X@< !D !X M;"]W;W)K&ULQ55M:]LP$/XKPH.QP5H[3IJ$+C$D M[<8*ZP@-VSZ,?5#LLRUJ2ZYT;II_OY/L>!DD+HR5?;'U4ZGN]E6Z7N3 M R![*@MIYEZ.6%WZOHES*+DY5Q5(VDF5+CG25&>^J33PQ#F5A1\&P=@ON9!> M-'-K*QW-5(V%D+#2S-1ER?5N"87:SKV!MU^X$UF.=L&/9A7/8 WXM5IIFOD= M2B)*D$8HR32DD=3P<[]$_.NVD9<,-7*GBNT@PGWM3CR60\KK .[7]!*V> M"XL7J\*X+]NVMH''XMJ@*EMG8E *V?SY4QN' P?".>X0M@ZAX]T<^31 M3*LMT]::T.S 277>1$Y(>REKU+0KR ^C+QQK#4REC.Y98#=FMDI@;]D$FD/SI[Y/*3FJXE[H,>P%ON3YGP\$[%@;A MJ =OV(5NZ/!&)_#NP* 6,9)F8_6S6@HTQX3VXMAG=VDJ'L/4S=Z 747G;J+9^[@H19&(#"++&)@E,5")<=X]B.-V ZX-CV< MQAVG<2_2"K0KEI+8/),8O4!_&;I)1W/RGQ-C\@+JIIVZZ3]+C'ZDX>G$\ _J M;@DZ<]W%,%CXI0)*KT%I.0:G$\H6W7349H)JLI5 M\8U"Z@ENF%,3!FT-:#]5"O<3>T#7UJ-?4$L#!!0 ( !B$HEC-2W@8)P0 M "D8 9 >&PO=V]R:W-H965T\0\E.W%P M#&HICXQ]KD_>I7,OJ"LB.4ED38'5UY8L29[73*J.+RVIUSVS!AX>[]G?:O%* MS",69,GRCS25V=R+/9"2%:YR><]V?Y!6D"XP8;G0GV#7C@T\D%1"LJ(%JPH* M6C;?^&L[$0< Q3,,0"T '0.B$X"P!81::%.9EG6#)5[,.-L!7H]6;/6!GAN- M5FIH62_C@^3J+E4XN7B/9<4)8"N@G,%Q/;4"X#+=KVM]1]!U25*@+)4+6Z28R$THN%[=4,DIKEXK89^>+@!KUZ^ M!B\!+<'?&:N$>IJ8^5*)J4ORD[;PZZ9P=*+P$-RR4F8"O"E3DIIX7TU"-Q-H M/Q/7R$IXB_D%".&O 4H&JAG^7QX:"DG[!8FU'SA";[[HUD$G_Y4(\ [20KQ M[]!T-731,%V]&UR*#4[(W%-_[H+P+?$6O[R X^#W(:V.R SE4:<\LK$KY5M2 M5F30$PURK)'U#K5=3*8QG,S\[6'U3T?%01 'W2BCK%%7ULA:UI50SMXP+H_= MUE1F!9\[_8[(#)WC3N?8K?'&+I4[(C.43SKEDY\VGA5YKLB&;/0\?\9=];&U M^O?*FAFX*M0FG. A"5;XN1(D=LIOH^JD!K'K";TFDN:=E,BT^CZ0GO]I$#VC/'FXJK_#M8OQ5X=OV.V$R9 M?82!(\.3!L- WB$_[KDP>T1X_& M?\_8-)WF$%=LIN@^L,#8L1N=1AA7;*;Z/L1 :U*PN]%I8FG93-/&TVC8M*C/ M(LB>1?Z2&>%#Y=MQYY;OBLU4V<<:!-VZ%#D--J[83/5]L$'6Z&!U:0L]?,]& MX\GH:,ML1QVZ+PK"T0GS]9D#V3.'-M^/-TP[R]F+\7_T15"?4E#DV(I.PXLK M-E-]'UZ0O0%CM:+3G-*R&<9^\G[D'S1=U3O/6O>B!=#MT:;KV%WM^MU7NLM[ M=/T:7BZ;KG5/TS31;S%?TU* G*P497 Q477QIB_=G$BVT:W=1R8E*_1A1G!* M>#U W5\Q)O&ULM9E=;]LV%(;_"J$50PNLEDG9 MCIW9!I*HQ0K,6="@V\6P"UJF;:Z2J))4G #[\2,E65^1&:ME;A))UGD/^8@B MWR/.#XQ_%7M")'B,PE@LG+V4R:7KBF!/(BP&+"&Q^F7+>(2E.N4[5R2"+ *P*\JXN3R*OB64D'U,Q#@/;C%G&/]),!;GTA,0_$.O $T M!BL:AOJ>N2M55AWK!D4&/\^ 3F3PP(K%=#4 MK$9WO?()>9GNZ(3N+7F4]\F>\*XV71MC]:1Q*1(" MPQH8-!Z@%AMCPKYL+(DUV%R4;"[,(P@_*:.@QHIDQ^$"UL4+VH4G5X.PCF.*R\V] (Z(.05%E?L@'; M5*;JM5+E@$:C9FB53CE? =0%RCIGH1>T(0)1YMNZ5C=S;%^(MM2:%&L.&!I[ M^@>G.QKC$"0I#_:JA@ )IP$!>/.O\M]ZZNK$9Q3M:Q>LJOF%6F.%>3^L3:%- M4J@BA8RDKDHB>BY7U56VQ &)'TGG3&Z6Z\W(III?J#7F4L4(G6!4N75HMNM- M1CO&-@=5.G72L>K=K:KYA5J;#CQ!I_+ET.A5ERLU3ZDW;<76-.RL9\SQO:%8 MM>&VU)KL*B,.Q_:+&FC38M]85?-MJ35Y5I8=FCW[#U0V9N7>5"3:K-P;5:XVKJ.:#MNP7L/.P\K/PQ<- M_?FUH%FK-Y[I\X4?3@;/1M-KN'I8V7IH]O5]"T*S7&]&L^=+&T2#:9O1:UA[ M5%E[9+;??:I"LU1?/H5:@X_7+K]]6SF;>"K/CLR>_7M*0[-D;TSP6:4Y;C.R ME+#)J'+KR.S6?Z@Z-&OWAF5NJ:G6]&VUI$FQ\O/([.>_KSHTB_;&9]7;HVYO M/^[V]JCR]LCL[?M6AV:YWHRL6OU"K?6E[41QB"H+C\P?T\\O#LU"O>%8]>V% M6OOSPD6+CEO;E8P(WV6[NT+-TVDL\PW*\FJY@WR5[9NZU>WY]O,*<_42"A"2 MK0I5J50+>+ZCFY](EF1[G&LF)8NRPSW!:C70-ZC?MXS)XXE.4.ZK+_\'4$L# M!!0 ( !B$HEBQ&PO=V]R:W-H965T='JQ1FN+ M"6+)[F+9_[Z[B/ A8"TZQS<67^==> \^\)QEN6?\F]A2*JVG79**U60K9?;! MMD6TI3LBWK.,IFK//>,[(M4J?[!%QBG9%$&[Q,:.,[-W)$XGZV6Q[8:OERR7 M29S2&VZ)?+KR87Z$.(%SJ@..*OF.Y%8]G2EW+'V#>]LF2O^.-W*XF_L3:T'N2)_(S MV_]&RPN::KV():+X:^W+8YV)%>5"LET9K,Y@%Z>'7_)4&M$(0-Y "X#\*D! M;AG@GAK@E0'>J0'3,J"X=/MP[85Q 9%DO>1L;W%]M%+3"X7[1;3R*T[UC7(K MN=H;JSBYOHB^Y[&(==*$=6Y="$&E4.E36SG=6"3=6$E,[N)$'4+5#J'N*+7] M;4 EB1/Q3L5\O0VLMV_>66^L.+6^;%DN5)18VE*=GA[$CLI3^7@X%3QP*M>$ MO[=<=&9A!WL]X9?F\(!&5;C;$QZ8PR\R-3KR!\/#$T;';A&.V^&V2DF5%USE M!1=Z[H#>QURH+4)8C019__RNMEE7DN[$OWW^'B2]?DE=7/K!9C#0,2:QGF589Y1L/^H$_R-MM23OLL,\:.O6,AQ0)( ML1!(K)6 :96 *7PEF4+F!5(L@!0+@<1:>9E5>9D9_S$N<\YI*O4C53UR^Y)@ MC!^;!$BQ8-:I88NYL>5?5X;Y<9Z#2D6',2F#:_1 A]9#31@RVJ_LMHW6GV52I(^Q'<)-=S*?N1$:L4: >L3Q5-F?DF:AB M>Z;\CGBN6)P^9305&L[50XX5-W\#V7NS 0J*H&I!J=;,QCE2I?LX&Z\!@:BF M0&3&P(#>4ZX;))(\#7@,27"7H&I!J=;R&'MX?NSQ:W CJL$1F^T& M!410M:!4:]5S;]%Y28$:M&UW37_H!?PC8EM4[$@O:#9Y)(EZ6^DO)J H"*H6 MH"X,SCRG4Z]?@P91C8/(S(/7NH"M0TB4^AR1-:56:=T4:#DB2H6HB[7(KF MON<-6%V3)#:3)&2KRCS4Z&R @B:H6HB[V'J.IO/90#9JT,1FT'RY5646&.TQ M*%V"JH6E6LOCF3]D<4V7V$R7HSI59JW1;H.2)JA:B+M3E^<8SX9*>8V0V#SC M.*I39=8:;3TUX0]Q*JR$WJLPY_UNU(!'%K,LKWW:634;+681#+NY2H=12)].>U#)/-N.6U7G=\ M"9Z6.MO1GHQ6XDG>2_VPNDO-5GO',@\B&:L@B4DJ%^/6E7?)?98!\B.^!7*C M]EZ3;"B/2?(]V[B9CUN=[(ID*&B9)8+\M*>@HRU%4* MBQ_KD#C@!/XD@)=]$N"Z= M@ 6XEX.SK/4\&0X[O5'[V7&SIQS%X0OYOP/="P3>B95&_B73/('(U$2\4.0A M81FLRHT^R%IWXJ"R<2PV5U$;"SR*7X<>:E! 9>-8;*Z>-BMXH'^N*D7VIL@& MOM<]+$54OX_%Y@IB';]WEN6O0'N=X_X!AM:6J0FW[UF[[U7X_?W.=E)8APEK M%R&J\\=B<\6TWM]KP/Q[J.X?E8UCL;EZV@#@P2:^HJGU2YS#FYZ&ZO:QV%P] MK-_W8,-?U=-@]"GK&#!%;;F:M?H>:'_=WO8U%7-)8A&52X=J\5'9.!:; MNWYK33[MX#;J:;,$A;,$W-0*\'Y3\X>'F0D^0VT]FD@" M=.\' O@7@HJF5H$&UGE@9&V5FO#WU/I["OM[IY>=OD@+L]:N0]2 @,7F*FH# M O4;Z&N8WG^*RL:QV%P];9*@<)*HZ&O=-WVM<]C54*, %INKAHT"%+3&D]NU M7HN0W":/05@N"*KM1V7C6&RN=M;VTWX#E8EI]*>H;!R+S=73Q@8*&_^*RMR" MNWN5R?K^\+ X48-!P=8[=DYWH-;P4]CP.T57:Z46)JX]>U#]/Q:;>Q."]?^L M ?_/4/T_*AO'8G/UM/Z?G>/_V5O_S_PN.ZA&^!2U!6DB # ; -A9 : "/3@> M &!D;94:N1=H[V8@. <]K:3UFIASMIEB'L_4!/VGUG[SQJP_PS5_J.R<2PV M5T]K_]DY]I]5VW^8O[8:3=A_9NT_JV'_*U%BIJ%,!B<_6PD8'!D:'*?,!H'S ?J!D MB\V]>]9F !^^T>>PG9V^ D3URU%5#:.Q>:*:H. [^&W-A_UEB)4-H[%YNII M&PO=V]R:W-H965TN1A[_F-6_$P M5]D;G?%PP1[X'5??%S>I?M6I5*8BXK$428Q2/AMYG_#I>=#/.N0M?@B^EAO' M*)O*?9(\9B^NIB//SR+B(9^H3(+I?RM^SL,P4])Q_"Q%O6K,K./F\;/Z93YY M/9E[)OEY$OXEIFH^\@8>FO(96X;J-EE_X>6$NIG>) EE_A>MR[:^AR9+J9*H M[*PCB$1<_&>_2B,V.N!@1P=2=B#[=J!E!YI/M(@LG]8%4VP\3),U2K/66BT[ MR+W)>^O9B#A;QCN5ZK-"]U/C2R92M&+ADJ,C=*>39+H,.4IF*#_Q(S]Q%1?I MDMFNC]"EB%D\$2Q$GZ3D2B(63]&U8/]W%^C]NP_H M'1(Q^C9/EE*WEL..TL%G(70F9:!G1:!D1Z!?67J,*/Z(B$^"FN[GIA+X:;%\E7LEV<*"FB^9(S/*D5WG2:U6V]UP:YTC,,JY? M&=?_W]E>*'1?R_:Z9KNS?5 %. #_*;Y1"/ (I%"-;^<@]I-U\F1F&7#267# M2:L2_,2E<8[$+..P;V#*!S/H;JX3YDCQ--*TL^)21;L2O13:3.$^/=E*083,0A33:J#[E,= MAT W;-@-P_#V67^2J2 M04H,@E=VKH^7C0*"ZQ$)&XC#,,7II3J*FH;[ MDM84\5RIV;88R,/MHCSL%/-N5U-'>=KW6--I9K\1 '($A[IJO>(BP3GJ'-_/PF(WWK@[!=&1C)Z]= M3$?<;OP=@NF(83H",]T^-_7D)4ECVP $C_76N1BR(S#9F2IQATSP MD(T7VY&:;9 A23)H5Z4XY4U7:K9YAC<)B&3-D>ED'V1ZV6@G,E%#=Q2FNZ(0 MB%MD@L=L_*W5(78&J8%*BEM5"=0I;[I2L\TSO$GAKX[W0:92 OJT )O8H6U\ MD0O3G,E\-Z $#]=XW0ZQX4<-1=*@74GOE#)=J=GF&KO&Z'6)',# ,&;3K:<# *6.Z4K/-VW@@ M$-ZIW!^32B$P]0^!?(%!O@!&/E,E[B )'K+Q8A^"(@-#D4&[GB0,G!*F*S7; M/$.8 ;Q;V1222KD>5"]0DR+,SL:3]MG/''04#R*6*.0SW<<_[NN,2HM?#A0O M5++('[Z_3Y1*HOQPSMF4IUD#?7Z6).KY1?8\?_7[C?%_4$L#!!0 ( !B$ MHEB<#7YQV@8 0Y 9 >&PO=V]R:W-H965TG E*DZ+??A1 MLB*:-G6V#/)-8]F\O^^.9^K7(W6U2;-O^4H(B9[C*,FO>RLIUY?]?CY?B9CG M;].U2-0GRS2+N527V6,_7V>"+RJC..KCP6#8CWF8]*97U7MWV?0J+604)N(N M0WD1QSS[\5Y$Z>:Z%_1>WO@2/JYD^49_>K7FC^)>R*_KNTQ=]1N511B+) _3 M!&5B>=U[%US.V*0TJ$;\%8I-OO,:E:$\I.FW\N+3XKHW*#T2D9C+4H*K/T]B M)J*H5%)^?*]%>\UWEH:[KU_4/U;!JV >>"YF:?1WN)"KZ]ZXAQ9BR8M(?DDW M?X@Z(%;JS=,HK_Y%F^W8H1H\+W*9QK6Q\B .D^U?_EPG8L<@H"T&N#; IQJ0 MVH!4@6X]J\*ZX9)/K[)T@[)RM%(K7U2YJ:Q5-&%23N.]S-2GH;*3T[M,540F M?R">+-"'[T6X5G,D+U"B*NCUC9 \C/+?T!OT]?X&O7[U&WJ%P@3]N4J+7!GD M5WVI?"B5^O/Z^]YOOP^W?-\MS]XB$EP@/,#48CZ#S6_$O#$GIGE?1=Z$CYOP M<:5'CH1_@>XBGD@S"^B?SVHX^B1%G/]K"W6K3>W:Y0_P,E_SN;CNJ5]8+K(G MT9O^^DLP'/QN"]R1F)$&TJ2!0.IF%0BC"FQQ;\6&E5BY3CQ- \P8ONH_[09D M&140-FY&&9[2QE-ZDJ?6";M 'Y[G4;$(DT2QHYC(-CL2,- R;- S/*NC'+,VM!;"58[O%.IZ0 MT5Y)VT:-@I:2'C6^CD!?/XL\OT3OYO,B+B(N5;TNA$K)/.3;&YV*@,=I)L.? MU1LV[T<'?KT)\&0PWG/?.HS2P.[_N/%_['+Q&!\X,1S@R9ZGED%X-++[.6G\ MG(!^SM)X74B1Y::C-A]!H:Z_ T=B1LS!0-_?!QX7A%K<4299BP+9$Q:RC70;!* ]_RV@D7_H=LP">,BMOKL%$IGE#NL,@7('+<^-4%-3 &/3QR)+0EFH_Y64T[P,G\O7]ML0*-1Y8AVIF6%K M" LF/FO<*9FY4C-;#QK-,,@[W7FDUC-XA+%]RJ]'&3@R(MA.(UC3$X;IR5ZO M,(S DIT[)([4S 3LM(J\]HK<-HM\[>TL DMVGF(?-(8UC6&?C23L%,MY(B:ZK!],!C6#(;'/HO<*9>Y4C-3H;D, MP]VQ[C R.8010@Y@9&+IC5!BAQ&BT8G Z&2O5QA&8,FNT^5*S4R IC$2>*Q< MXI3+7*F9J=!<1N VV#B.P9.(QBT"8]++;JTU**<]+E=J9J : MNLC(9U4[!3%7:F8J-(B1\_806^FCUC//()#A_A&$PWU$8Y3IK68E K-2^VPD#%ND\J3X0BVK$HCYW&JE3V'*E9J9BYX25HYW&(SH,J&\?#$4U0U&8 M?6[Y?*7>RK:W&U[(-$X?PLB^^P)K=9Y;'VQ%-5M1GSN,U"E]N5(S4Z'IB\(M MK\[(4>OM(@<;!WO$00_/6+'1H.7,H\8C"N-1:\'"! *K=IXO'PTJJJ&+^MPX MI$YAS)6:><13PQB#NU\GK]!'=&C["@U;GANA9BP&LQ%8\.U( JMV/L#J@\*8 MIC#F<[^1.:4S5VIF*C2=,4?[C4=T@-,@L.6Y$6KH8C L[1Y7SU_P>R&>1)1N MYWO>=G0=%NX\T3[(C.V<7O=Z?-WM^74?J,8TJC%'NXY'=("V-FQY;H2:P)AC M F.'!!8$=+3_X D[9+#)@+5 &-,0QF (7M\+2?UV>$.WY!ALN_LX2@V&.\_4]#?>42M?#[PEF>/89*C2"R5V>#M M2 6;;1^YVU[(=%T]M?:02G7SKUZN!%^(K!R@/E^FJ7RY*!^$:QY\G/X/4$L# M!!0 ( !B$HE@RP?0OK@0 (<> 9 >&PO=V]R:W-H965T[3AXKM<$J+ ,TLS.0Z62JTN MPE F2\*P/.%4XL#5>PL9IEDP&16?W8G)B*]5 M2C-R)X!<,X;%ST\DY9MQ (.7#[[2Q5+E'X23T0HOR#U1#ZL[H>_"2F5&&

# ,S('*]3]95OOI R MH3C72W@JBU>P*6T[ 4C64G%6.NL(&,VV[_BY+$3- ?8/.*#2 >TZ= \X1*5# M5"2ZC:Q(ZPHK/!D)O@$BM]9J^451F\);9T.S?!COE=#?4NVG)M>9PMF"/J8$ M8"F)DA]!IIOG#-QOQQ7P.:C97!8VX/T549BF\H,V?+B_ N_??0#O ,W MR5? M2YS-Y"A4.KK\-\*DC.33-A)T());+,Y!!#\"U$'=!O>IV_V*))5[9+N'NB95 M85!5&%3H10?T/M.,*G)VHYMLUE"!OV^T/;A6A,E_FG+=BG>;Q?.Y>2%7."'C M0$\^2<03"2:__@)[G=^:,O=@Q M_]R=-KNU5/=4"E]J=BUJ% .=K?"[5)05R_Z#)/-U"F[HG#1F[=89@)\$BZ9& MG[H]3\W0X AT_LL[FAT_'VIVM^310]P&AD##(3!JM=V=F'-T+3RIV;4PL /= MM//V=G?K0.3H=Z?KJ2D:1()N1OHF\(QDF)'F1PFG\]&CZ4G-3M6 %NRUVME> M^/.,J?'2WT**WB0U9VH :1H)N13'^Z@<,M<_3H M>%*SDS; !8>M=JI7^O*E9F\/&/Q"3J1Y^QK\BHYC"79[GIJA@2KDAB&[Q0]C MAEOFZ,V.-C@+U;9]VMWW\;OQTP9R(8-XWI[@[MU MRC4<] #CF5HV-WH;8(4,6"%_8(7VP6HXC'>X"NUS5=W(#M-@%7)CU1\\.TLX M6Q&EXUP(0AC)5'.07L'*EYJ=M@$KU"I8(:]@Y4O-/F\P8!5Y JM7=!Q@Y?8\ M-4,#5I$;K(XZ4X'[#SF#W6><5XRV88:U4\+\B/86BP7-)$C)7'MUSOMZ*HOM MJ>?V1O%5<7#XR)7BK+A<$HV$(C?0W\\Y5R\W^5ED=?8\^1]02P,$% @ M&(2B6*T2G.#O @ R0D !D !X;"]W;W)K&UL MK99=;]HP%(;_BI554RMU34A(@ XB45B[7DRJ^K%=3+LPR8%8=6QF.\#VZV<]YWN,D]G#-Q;/, !3:Y)3)D9,IM;QT79EDD&-YP9? ])TY M%SE6>BH6KEP*P&DIRJGK>U[DYI@P)QZ6U^Y$/.2%HH3!G4"RR',L?ET!Y>N1 MTW&V%^[)(E/F@AL/EW@!#Z">EG="S]PF2TIR8))PA@3,1\ZX'*3H].4,GB##TF/%"8I;*H:LTG"GA)C7(507BOP'R!8L+ M%'3.D>_Y78M\TBZ?0M+(@Y=R5[>DZ8O?],4O\P5OY+OA/%T32I%V@W::-"Z; MA*9$)I1+TZ'OXYE40C^./VRFJRI=>Q7SBE[*)4Y@Y.AW4()8@1._?]>)O(^V M%ORG9"\:$C0-"=JRQV99T"EL$EJDA"V0R@0 RCE3F43 4DB17L(DJPIN%_+, MUI.J4%06,E^951QX03AT5[M>6VF.]-IMO'8/>0UMX)4JW 6/_'WPUM1'@H<- M>'@(/+*!AZ_!.U%_#[PU]9'@40,>'0+OV< C"WC@[8&WICX2O-> ]PZ!]VW@ M/0NXU]L#;TU])'B_ >^W@C]FH'?]N0)AP^^_PA]THV@/O[7 D?B#!G_0BF_? MMVQ6!J^^-GX8!IT]+Y:H*.S^=5Q!NCL;K3GDZ"_>@C")*,RUSKOHZ8Z)ZN!0 M311?EGOOC"N]DY?#3)^U0)@ ?7_.N=I.S';>G-[B/U!+ P04 " 8A*)8 MACEQ6.\" "." &0 'AL+W=OUBS8F#[3[V[[E.TBAKT@HD MOK1^W'-\SK5]G5 FBRRWBNIE:J=7%EVRI.(:/J4A20X\Q*R(QJ[,HG M6Q42:%*",FZ[CA/:&66Y%4W*L86,)F*M.LW\JO:.7)54P$_P' M2W0ZM48626!%UUS?BNUGJ/T$AB\67)6_9%O'.A:)UTJ+K :C@HSEU3_=U7EH M 0;^$8!; ]R_!7@UP"N-5LI*6W.J:3218DNDB48VTRAS4Z+1#+Y66>&9_]1FL&/U^1G./KU1!8YA:>%$5R U8T=LW@]#YT&?W M/Y&],N\UYKU3[)W3U&>V8@A+!E-C-I$7A+AQF[:);I []KTFZ)4XOQ'GGQ0W M*V\3GLP$"J&8[E57402MA8>#T8&XGI@@[-<6--J"D]KFL *\+@D6Q@WD:^B3 M%G26#0?.@;1N3# <]DL+&VGA26F/E*^!T"1!=9KN2%$=\#Z%86=UWS_'QD8X>-PN%)A56]:96I/FW#;F;\\8&V;LS <8ZD;]2(&YT4=R\TY?A:_4N9 M[=,_ZMR(8#0*#@QT@T)W>'@T[=9K85YJ+*!/+%>$PPIASN40$R"KUZ_J:%&4 M#\A2:+Q 93/%#P:0)@#G5T+H?<>\2&PO=V]R:W-H965TQJ"QYDI*T_WY7LFL22$L?^F)] MW7-TSY'OS7;:W-L*T;&'6BH[X95SS444V:+"&NQ -ZCH9*5-#8Z69AW9QB"4 M 53+*(GC<52#4#S/PM[."D4S@VSF[H&\WB%4N\F?,B?-F[%NG)^(\JS M!M:X0'?7S VMHIZE%#4J*[1B!E<3?CF\F(Y\? CX)7!G]^;,*UEJ?>\7U^6$ MQSXAE%@XSP T;'&*4GHB2N-?Q\G[*SUP?_[$_C5H)RU+L#C5\KLX]7Z&E#5^VZV)CSHJ-=;KNP)1!+50[PD/GPQY@.'H&D'2 MY+6 M .D06B;69 U P=Y9O2.&1]-;'X2O EH4B.4?\6%,W0J".?RRZ(P&RP9 M/M!_8=$R4"73KD)#MQN#RC$I8"FD<()./[(?8 QXZ]GI#!T(:<]H]VXQ8ZG"3PC9[ANT4)CLR9@W&/Q]2\"/<%>&$;*'#"J<(LFBWR_/V[ MX3C^U_7O,@O0M+7@CL@,+ M1KT%HQPZ/L)1X3&,+' >@;XO;/,ZB[7[B;<0PW@\9C/N@-J%HKTQ]BZ2_ M?2V491)7A(H'G\XY,VW;:1=.-Z%RE]I1'PC3BCHU&A] YRNMW=/"-X.^]^?_ M 5!+ P04 " 8A*)8&,.K7<<$ !9)0 &0 'AL+W=OR_C&=^R;I+\5\GNR8DRAERB,DT%K MI=3ZTO.2V8I%-#D5:Q;K(PLA(ZKTIEQZR5HR.D^+HM##OG_F193'K6$_W?LT>)DN\@K* MG$LJN"2X9PK2,W[G;)OL?$:F*U,AOIN-V_F@Y9MOQ$(V4P9! M]=N&C5@8&I+^'O_DT%;1IBG<_?Q&OTD[KSLSI0D;B? //E>K0:O70G.VH,^A M&HOM5Y9WJ&MX,Q$FZ2O:9N=V=8NSYT2)*"_6VQ&/LW?ZD@NQ4Q!T#A3@O ? M6]#."]K'%G3R@DZJ3-:55 ="%1WVI=@B:<[6-/,A%3.MUMWGL?G=)TKJHUS7 MJ2%A4X5^0?=42FI^ ?29,$5YF'S1>Y\F!'W^] 5]0CQ&=SP,]2^5]#VEVS75 MWBQOXSIK Q]HXX[*4Q1T3Q#V,:XH'QU1W@[2\DY%.7&7$S8KRMMVN:?%*A3# MA6(XY;4/\+[I;206:"39G"MT0V<\Y.H5_9D>N%4L2OZJTBBC=JJIQMZ7R9K. MV*"E_9LPN6&MX<\_!6?^KU6*0<(($,Q2LUVHV7;1L_&GKT>)HO&EI=T,EI].0 M(7WU9U4R9KB+73.<^H'MF)&SS;KR ,$L>14)Z3NV(*$$2"8 M)5ZO$*_7B%-[D&I"P@@0S%+SHE#S M:I&2[ >U;M[GG5V6I=@8!@ED"!7RY= M?:=$DX>;,7J0Z&K^MUXHLSGZ[6E\>_TP/F*N=9/K#CI0&H&BV:KN!(*@$1OG M6"A)(6D$BF9+6B:&P+F$KN_EG+(]*[M;K:U1$S$@*'- X X"'YKY\'3L M)M<>>9 T D6S52V31]!IQLR@80241J!HMJ1E'@F<"_0?,'.WGUR-'^Z/F:4A@\4(E$:@ M:+:^95 )SILQ-FAV :41*)HM:1E? N=Z_@>,W3MJE@:-)% T6Z,RE 3N5%+# MUH[Y&C*#C$!I!(IF_[5<1AKL-_/G,FB> :41*)HM:9EGL'-Q7]_6.>_#^=K= M;FV5FH@H>.>FACNBC-E&A!L>+_>'7J5"L/T_7TG@^83 M*)HM5YE/L#N?C$2LM"@L5G65RKC=':6Z[Y0"S2A0-%NI,J-@=T;YQI1BLG1K MI2B@$0241J!HMGQE!,'-1! ,&D% :02*9DM:1A#LCB#_\U+7>W>I"]X9- M0-$RN;R=QUC,0T=W5"YYG*"0+33>/SW7EPN9/<>3;2BQ3I]LF0JE1)1^7.E5 M'I/F!'U\(81ZVS /RQ1/4PW_ U!+ P04 " 8A*)8^'6-9% " "H!0 M&0 'AL+W=O[-H2E%8WVL!>PK^\Y/N?:OE$O MY(.J #1Y;!A7L5-IW:Y<5V45-%0M1 L<5PHA&ZIQ*DM7M1)H;D$-]!?VYW$ MF3NQY'4#7-6"$PE%[*R7JVUH\FW"MQIZ=3(FQDDJQ(.9W.2QXQE!P"#3AH'B M[P!;8,P0H8Q?(Z"0' K:,;T7_1<8 M_5P8ODPP9;^D'W+#*X=DG=*B&<&HH*GY\*>/8QU. ,@S#_!'@/\<$+X "$9 M8(T.RJRM:ZII$DG1$VFRDP$E>OUI>>A_GS/\G MLB>E"*=2A.?8D[NN2=&M*/!=MT)JFC(X7APUYWR@N[!TIL\H$@F.JZ'2S5%IW:SMJ_L67R#;6CH&G]IAAZ&5Z:LN2(,"J3T M%E>H1PY]89AHT=JGE0J-!VZ'%;92D"8!UPLA]'%B-IB:<_('4$L#!!0 ( M !B$HE@M<4V*:@4 )DD 9 >&PO=V]R:W-H965TD[6[5=G8?5OO@)DY SACG*;S M[]<0B@,Q;J*:EY:/>P_W7I_@P[7'&\:_YQ&E KRD299/!I$0JW/'R6<134E^ MQE8TDW<6C*=$R%.^=/(5IV1>.J6)@UPW<%(29X/IN+QVQZ=CMA9)G-$[#O)U MFA+^\Y(F;#,9P,'KA?MX&8GB@C,=K\B2/E#Q;77'Y9E3H\SCE&9YS#+ Z6(R MN(#G5YY;.)06?\=TD^\<@R*5)\:^%R=?YY.!6T1$$SH3!021_Y[I%4V2 DG& M\:,"'=3/+!QWCU_1;\KD93)/)*=7+/DGGHMH,@@'8$X79)V(>[;Y0JN$_ )O MQI*\_ LV6]LA&H#9.AD]?:;9FN;@%%S' M.5DN.5V2LL!L :J;X.2:"A(G^4=I]>WA&IQ\^ @^@#@#CQ%;YR2;YV-'R& * M2&=6/?AR^V#4\6 ,;EDFHAQ\SN9TWO1W9!)U)N@UDTMD!+PE_ Q@^ D@%WF: M>*X.=\>&<'!=6%SBX0Z\[FK^^XREJ)A2.;); $UB@!=-6$Z[Z3AQ7 +L4\#Z(6 M#S56(]_W]#R$.WH &L/[2T242X%F",\(<.Q@V$)KIHM4NJ@G2E; MLI@":U9 M!B56H%$('$)*O$G@LH36S5S(%AGVQU*J*L876+(/2,="H M$0YAZ4C#4A?C-DLU9D$(H9ZE2(D,9!89-W%&LIE639H]CQT(6VC-/)5:0; G M/B*K*L866K,,2L4@HSPX@(\5P"[1H(N\-A\U9H$/_0XZ*GF!S/+BZNYWYY9D MZP69B36/L^4)_*B-TFKOPQ9:,VDE7)#7%S>M"AM;:,TR*&&#WFBTO,U-7_X1SOLNGODU%A!'W5P4^D,9-89Y<>X-BJK#1%; M:,U&N1(KV.VK56Y5R]A":Y9!:1EL[KR\S<4*8)=E(?:\%A@*;]43GA&WV.WH8^FA_8"5+ M<%_K.-BJ;K&%UES=5KK%>^]*3@6PNW2-@F&[:ZZQ\ES<_NAV=C9YR$EX6>Y] MR<&,K3.QW2517ZWWUUR4NTI:UR_A^=5VEXR"V6[:N25\&6)1E@ */564R9E3*E5/75?F)5183G@-3)^L MN*BPTENQ=F4M !<65%$W\+S8K3!A3II8VZU($[Y1E#"X%4ANJ@J+OW.@O)DY MOK,SW)%UJ8S!39,:K^$>U$-]*_3.[5D*4@&3A#,D8#5SKOQI%IO[]L(/ HW< M6R.C9,GYH]E\+V:.9P(""KDR#%@_MK 2@V1#N-/Q^GT+@UP?[UC_V:U:RU+ M+&'!Z4]2J'+F?'90 2N\H>J.-]?0Z;DT?#FGTOZBIKT;AP[*-U+QJ@/K""K" MVB=^ZO*P!] \PX"@ P3'@.@$(.P X4L!40>(;&9:*38/&58X301OD#"W-9M9 MV&1:M)9/F"G[O1+ZE&B<2N]@"VP#$GU$"\Z4T'5 >=OWOH+3O@+T8UV4TKTE150'.)='7LO M(-@)F >CA#=83%#H?T"!%T0#\2Q>#@\'X-DX/(/\%/Q 3=B7([1\X7@YT$KP MZKD@#5$E6MB7 03Z=;64UOY[*/TM?S3,;YK(5-8XAYFCNX0$L04G??_.C[TO M0[E[2[+LC<@.\AKU>8W&V-,^E5A*4(/O;4L06P+3++>IE[C;_6R,NGAM-L;< M'4B\["5>ODPB)7A)*%$$!G6V++Z_[WD2'TD==?5:J9U'[X3' [5QKS8>5=OW M+0$Y7S/R[[B9M&+C(=?AD=C!2]'AI6PTG->^O>Y>P]9_Z;4=?!+E?,-4V_IZ M:S];K^Q(.;+/_>FB'9'/-.W UHUM39A$%%::TIM\TE40[1!L-XK7=BPLN=)] MQ2Y+_=T PES0YRO.U6YC'/1?(NE_4$L#!!0 ( !B$HEC*?)(8Y@( "(+ M 9 >&PO=V]R:W-H965T."SE8QH@B,.8A7'A#]>8,0V0\NU=@MCNEA*O6 '?DH6 M.$%YFXZXFMD%RHS&F C*$N X'UKG[N#"-0;FQ'>*&U$:@Y8R9>Q!3ZYG0\O1 MC##"4&H(HAYKO,0HTDB*Q\\(?^R8A78J9$X"6+?M"97 ZM,PMF M.">K2([9YC/F@CH:+V21,/^PR<\Z%H0K(5F<&RL&,4VR)]GF@2@9>-X> R\W M\ SOS)%A>44D"7S.-L#U:86F!T:JL5;D:*)O92*YVJ7*3@9C7&.R0@&G,$9] MBS19P BYN>\D1/@ZC>B"Z @*.+Y"26@D3N (: (W-(KTNF]+Q43CV6'N]2+S MZNWQ>D-X$UIN SS':\/MY J.CT[^A+&5D$*-5ZCQ#&ZK7DWCH)8&?-RF*C%P M!M]HK,^Q.4S4EIB3+%WNOBALN)88B_LJ@1F1=C4174L#D9(0AY8J%H%\C5;P M_IW;=3[4R&P5,EMUZ,&3NK2DCCW=5!7A#-)U#*8NUG70;O9\>UU!I%T0:1\@ M\K_BW8"))%R"2F*$N_,M%?<#DQVGCOJY58)JJ3WS!CJ%\,Y;2;3."\CL%C*[ MM?>K-(682/5ZUK3Y@;0#W$F5#*:HSH=LD=!?.*O2E7EVO5(^.LV.TZK.R%[! MN%?+N(BV+*(MRM'^!QE59.N=]B%FB5R*FHB?%?S/7KFB.JJ<]E14+;5GIEJ_ M$-Y_*Q75?P&9KO/TP75>K:9RUW\55;N_YS7OEKH$]S7*ZH!7%QZ1\*JHVZ6. M1W>/JJ%84-6A1#A72$ZSI]Z:/&O(LHEDJ6F"IDRJELH,EZJ)1:X/J/TY8W(W MT7U5T18'OP%02P,$% @ &(2B6..JI &ULM5==;],P%/TK5I 02*SY;+N5-M+6@)C$T-1I M\(!X<)/;-"R)@^VV0^+'8SMIEI0TK,B\M+'C4P*;SWOV]TJ\$+/$#.8D_9)$?#TSS@T4P0IO4KX@NP]0"1I* MOI"D3/VB7376,E"X89QD%5A$D"5Y^8\?*R,: ,'3#7 J@',(\(X W K@/A?@ M50!/.5-*43X$F&-_2LD.43E:L,D'9:9""_E)+M?]CE/Q-A$X[B]@"_D&&#I# MSGDMV/""AS"S! ?!P9T"X;_\H4] MLMYV^:.3+-!$UO+.J[WS%+M[;"T2AN.80EQN5;)"U79'7S^*H>B:0\:^=?GI MZ?13)UF@B:SEY[#V<]B[%]N93V7F%T!EES@BNFPLZ>PR5^01M/6M@3T:3\UM MTZ#N8>Y%>UC0&]P_2A_5TD>]TB_#D&QRSL19%T*RQUG^>]F_'3)EN*DT#XF.'OA-:'+^NRL*0: M-G++/DB_WLE.]:5ONI;8BUKL1:_8^WR9I"E$?\F\7I)3=XI.LD 36&PO=V]R:W-H965THICHGGC[&S&O#'=B"0F,&.(;](4LZKR*A#G1OO,8KN 5QOYXQN=-+EC!.@?"8$L1@.=$N>R/?5?:9P8\8=KRR M1DK)@M('M;D.)YJA H($ J$8L/QLX0J21!'),/X4G%KI4@&KZSW[UTR[U++ M'*YH\C,.1331' V%L,2;1,SI[AL4>OJ*+Z )SW[1+K<=F!H*-ES0M #+"-*8 MY%_\6.2A I \S0"S )C' /L$P"H UDL!=@&PL\SD4K(\^%A@;\SH#C%E+=G4 M(DMFAI;R8Z+*?BN8O(TE3GASV +9 $>?T!P2+"!$,\Q$+$_.?1 X3O@'>7=_ MZZ/SLP_H#,4$W45TPS$)^5@7,@1%I >%NVGNSCSASD(WE(B(HR\DA/ 0K\O0 MR_C-??Q3LY7P!K,+9/4^(M,P[89XKEX.MQK@?CO;3;F,O_]U-&EW,$_2EIY(DU"6^&O?0E=DOD=D1VD;5BF;?B?.LNPRWQV M2>9W1':03Z?,I_/FSN+4GIHIF\;12W-JCZ-7,_);8WBC0K=4Z';15]RZ#K]UAUF&O5*Q-1"FR5398<98KRX:(\+8?7RVQF.SJ?]D97^0SZ3)-/ MQ')T6,6$HP26DM*X&,J"LWS*S#>"KK.Y:T&%G.*R920'7U!+ P04 " 8A*)8M_DCP:<" #+" &0 'AL+W=OW-K MRS/?-]D)6MB" M2[S18!9",+T^QT*MQE[H/0_<\MG$!6;623!Z+?$"B\(I$I@I3 M/6%5SQT./,@6QBK1&!.!X+)^LZ?&$1L&T6B'0=081!5WO5!%.6&6I8E6*]!N M-JFY1K75RIK@N'11N;.:OG*RL^D5TI8,?("O3&OF/ 2'$[2,%^8(#H!+N.9% M0?XSB6]I/6?E9XWV>:T=[="^9KH/@[ '41 -X?YN H<'1__*^(3;,D9E%>2?5S07+BT*\VL;<"T\W"[L,N#,E"S#L4='W*!> MHI>^?Q?&P<<.[$&+/>A23[^5Z#PL9U X<,B4$-S2";=;?5N+T7EW:BZYEFG0 M'R;^<@O"L$48=B)<-0M+JRD=#$AE84VI[U!09ICWP*(6VW"ZA6.28=I !(+$ MYP;""'*V-AUN&[7,HT[I:RZY6&QEZC1\8S3C%BO>UR&,]X!]W&(?O^80]NAF M=7>W&]@5^6[!L(XXQ"_%^Z0E/.F.-WO:%>].PS&PO=V]R:W-H965T]A+8COWG'O.M7,]VG#Q M*$L A9XJRN38*96J+UQ7YB546)[R&IC^LN"BPDI/Q=*5M0!<6%!%W<#S$K?" MA#G9R*[=B&S$5XH2!C<"R5558?%[ I1OQH[O;!=NR;)49L'-1C5>P@S4?7TC M],SM6 I2 9.$,R1@,78N_8MI:N)MP .!C=P9(^-DSOFCF7PIQHYG! &%7!D& MK%]KF *EADC+^-5R.EU* ]P=;]D_6>_:RQQ+F'+ZG12J'#MG#BI@@5=4W?+- M9VC]Q(8OYU3:)]HTL7'LH'PE%:]:L%90$=:\\5-;AQV _Q(@: '!/B!Z 1"V M@- :;9196U=8X6PD^ 8)$ZW9S,#6QJ*U&\+,+LZ4T%^)QJGL*^@:2'2"[ !- MN53H^ H4)E2^T\OWLRMT?/0.'2'"T%W)5Q*S0HY4)T MS9DJ)?K("BB>XUVMN1,>;(5/@D'":RQ.4>B_1X$71#UZIO\.#P?DA%T=0\L7 M#M?QQ^5<*J'/YL^^$C4443^%^5\O9(US&#OZAY0@UN!D;]_XB?>AS]]_(GOF M-NK<1D/LV;<:!%:$+1&UQR;7QZ;/<,.26!;33]:9[Y_KDKPM+#;0V#_6WM"?+2<$^$26UIH2F]TU172S3-O9DH M7MO^..=*=UL[+/5]",($Z.\+SM5V8A)T-VSV!U!+ P04 " 8A*)8!*V- MHT<# #6"0 &0 'AL+W=OOP:CJT]L[@&X.UWAD3JV0NY8.= MW*5C+["$@$-B+ +%OQ5,@7,+A#1^U9A>LZ5UW!UOT=\Y[:AE3C5,)?_.4I.- MO8%'4EC0DIO/:CU=BY=(KMTO6=>V@4>24AN9U\[((&>B^J>/=1QV'*+N M$PY1[1 ]UR&N'6(GM&+F9-U20R-:IBPIS@S"M\R]#.3 M#X QT.2"S# _TI(#D0LR*XN" YZ5H9PX"W(GJHRQH7]]"X8RKL_0[>OLEKQ^ M>49>$B;(ETR6FHI4CWR#W.P.?E+SN*EX1$_PB,E'*4RFR5N10KKO[Z.F1EBT M%783G03\2-4EB<-S$@51IX7/]/GN\0DZ<1/GV.'%I^/\XWJNC<+<_=D6H@JB MTPYA[_.5+F@"8P\OK :U F_RZD78"]ZTZ?M/8'MJ.XW:SBGT2BWAC,X99V9# M"KJQV=2:%Q52SR'9;\YJ$H:]PJ-1A-Y!PS M6D!JLQ@>DXR*)1#,^$8#@U;RU1;='5Z#;GS _=@F#**HG7RO(=\[2?Z3%!<) MU1D1^*&OZ2)UOJLI+8$86:_E,F4+EK@+W*JD=\2R$QP(.38)VE7T&Q7]?U?Q M)WO^3DC_*%4NCI0N)A^LWV#34O48?V"JC@=+QI()C0>^0,C@LH\W155=1#4QLG"%>"X- MEG4WS+#Q F4-\/U"2K.=V V:5F[R&U!+ P04 " 8A*)8R=7"[<$" #2 M!P &0 'AL+W=O>H4Q]=CW=59 Q?2%K$'@S%RJBAGLJH6O:P4L=T%5Z8>4 M)G[%N/#2B1N[5^E$-J;D NX5T4U5,?5V#:5<3;W VPP\\$5A[("?3FJV@$

E$R151=C5FLPUGU46C."[L5WDT"FARQL==O'S:J:-P@_]JT]:FV+0G\+^ M_6-=LPRF'O[>&M02O/3]NR"A'P\(C#J!T:'LJ?-["J]9V>1VCTVA $@EA2DT M 9%#CANNLJ(%;G;HK,]&"TH\/ R4AI6D=(6A9F]8E4WOZ;_<00%"S0.VO26'[JCX#P8T&B/@JTJ&1S?@%Y@ ML',< YK$P_^ _E:%MK<='O8%%QJW=(YQ]&*(BE5[@;0=(VM7M&?2X!7@F@5> MNJ#L IR?2VDV'7L/=-=X^@=02P,$% @ &(2B6(=BXM^% @ >@8 !D M !X;"]W;W)K&ULK55=;YLP%/TK5ZR;4JD+!&C6 M9@2I23JM#Y6JIMT>ICTX< E6P6:V2;)_/]L0EG8TV\->@C_N.?<05,KV3<5$2I:=B[EOPA>)6'HS!.%EQ_F0F-^G4\8P@+#!1AH'H MQP;G6!2&2,OXT7(Z74L#/!SOV3]9[]K+BDB<\^(K354^=2X<2#$C=:'N^?8S MMGZLP(07TO["MJD-=7%22\7+%JP5E)0U3[)KS^$ H'GZ 7X+\%\"PE< 00L( MK-%&F;6U((K$D>!;$*9:LYF!/1N+UFXH,__B4@F]2S5.Q3'I<+&)R3F1%$IPZ^F)*%!MTXG=O1F/O8Y_= M_T3VS'S8F0^/L1^\/8 ['2P28;!"AAE5IWW&&[:Q93/YLHDO@U'D;@[]_%D3 MC,=>5_1,YWFG\_RHSNLL0YL75JH@"L^@0I$@4SJJ^I0>YQL$WO#2>]OG$U4\W]Z%:[ +VRN?%B?::#MD-/VBUHDFZ9J)X9<-BQ96.'CO,]<&PO=V]R:W-H965T[$&Q\:W2ID/+%AF7F\>;- \TRWS/^(%( 21Z+O!0+*Y6RNK1M M$:=04''!*BCQRIKQ@DH\Y1M;5!QHHI.*W/8<)[0+FI56--=K=SR:LZW,LQ+N M.!';HJ#\Z1IRME]8KO6\\#7;I%(MV-&\HAM8@?Q>W7$\LUN4)"N@%!DK"8?U MPKIR+Y=NJ!)TQ!\9[,71,5&EW#/VH$X^)PO+48P@AU@J"(I_.UA"GBLDY/&C M ;7:>ZK$X^-G]%]T\5C,/16P9/F?62+3A36U2 )KNLWE5[;_#9J" H47LUSH M7[)O8AV+Q%LA6=$D(X,B*^M_^M@(<92 ..8$KTGP3A/&9Q+\)L'7A=;,=%DW M5-)HSMF>9 V)I 4>7L"8"(<_$<8K8ILW]P_?T-2)KEX@."?%_=D/=O/Y"W)"O) MMY1M!2T3,;5WS],[P],D75LI4D-LR@:2;;V/-;>'><^'77B_@ M%\HOB.^.B.=X8P.?Y?]/]WOH^&T??(WGG^M#2CDTNM[1)WQ0)+GBG)8;4,J<2O5N \]^L:P]+-&-)5>XX4:3[W7=I'K M^OYL;N^.:S)$^5XP::,Z9(.6;-!+=LF$5 \0AQV46S"QZP5X:6,& NO4&K:U MAJ_LX7!(J08"ZT@U::6:#.SA&B\XL4JTU$>[%?6FO!@+K2#!K)9B]LJUG0THU$%A'*MB^X1#[ !)M;N38B_+2 M#@V%UJW9.]3LO;*?&P)#R3406E>NPV#F]@XS/^-HW^#5R>34T88H)PC../HP M'+G]T]&O4 )'PJIW-,$=0R8DIVJO9*3:"_;B3@V$UBW],&JYP6L;>]!9;2BT MKER':)9^L7ZOO"'HS?("I/T+@)@VG%T%R6".D M2=QHZ\,4: )#U-6/R^43=H/VZ$OT+4$L#!!0 ( !B$HE@"JDVOB , M !8. 9 >&PO=V]R:W-H965TU M*%(@M439L>/,-I"7%@VP#$:";!^&?:"ELTQ$(EV2MN-A/WXD)YD 75IBNS M4"TETM09%7D81U$_+"CCP63DQJ9R,A(KG3..4PEJ5114;J\P%YMQ0(+=P#W+ M%MH.A)/1DF;X@/IQ.96F%]8H*2N0*R8X2)R/@TMR<44&UL#-^)WA1C7:8%V9 M"?%D.[?I.(@L(\PQT1:"FK\U7F.>6R3#XUL%&M1K6L-F>X?^Q3EOG)E1A=C$.S@-(<4Y7N;X7FZ]8.71F\1*1*_<+FVIN%$"R4EH4E;%A4#!>_M/G M:B,:!O'P@$%<&<2.=[F08WE#-9V,I-B M+,-FFTX5YVU(<>XC]PN MU)(F. [,>5(HUQA,/KPC_>@7#\M>S;+GT+N'XFK=K>)ZW8SKI0DJS] <+ VS M+33G3>G6#5]NJ$SASU\-)-QJ+-1?;=[U?H)W9[5W9]X8/'*)B<@X^_N_LL5G MV\93TTCR5@\P6,B]@*],LSG-D,#\AXGP>)-Q&]Y)1YSE8%_MWA&AP\ M6_OT1?SYJU:MV1%7@7DY>+%>&^1]-B/]MU:Q-P^^UL%]+B1'D^%++SH_T"YA M]ZN+KHU=V"C5"Y29>Y H(\P5UV757H_6CY[+LM3?3R]?3*;.S1A7D./+I2O\9T*;9X1K+LS##:6=8+[/A="[CEV@?@I._@502P,$% M @ &(2B6)7=^_](!@ O2H !D !X;"]W;W)K&ULQ9I;_BL;;V6EG4H,N&+OK>"9-VMD^=#?3]/*L8-EFRL4KR7;R M[5=<@L 0&1-H7VS G"/]CP[BIV/-#S'_*3:,2? 0!I&X'&VDW+ZS+.%M6$C% M.-ZR2/VRBGE(I3KE:TML.:/+U"@,+&3;$RND?C1:S--KMWPQCW@*OKLF.#%([_CNLX,H'8-$RGT<_TQ./BTO1W;2(Q8P3R8NJ/K:LVL6!(DG MU8__CHLW$L'S\Y/UC*EZ)N:>"7CZ0@LV8KN ODE/OS-B)(!_^LI.+NYD[/U\FP1B M";PX5-DA:!K?M^!.IX&O'[U!KP" M%A ;RID ?@2^1;X4%^JB.OZZB7>"1DLQMZ3J<]*RY>7]>Y_U#SW3/PP^QY'< M"/ A6K)EU=Y26@O!Z$GP>V1T^)GR,<#P B ;D8;^7)O-;YA7F&-#=W 1?YSZ MP\_X^Y'FF0K^U9YQ]=R #P^,>[Y@X);['FL*6.:0-#M,'OMW8DL]=CE2S[5@ M?,]&BS__@!/[KR:U/3FK:">%=F+ROO@W32H!V,/6YRH$KU6J+.,@H%R +>-9 M,KUI"D'F=YKZ32:J_0*Z8S*96_NR-F/K';4YA3;'J.V6\72.C3P&1/*,@5WR M0#2),3HZ=SQ[ M[('-\C>; !N3-G/GE)+V+7(= H^RUMAJ1TW30M/4J G9< IN QHU]=]H>N[( M]>2LHG)6J)R]/$]G?:KMR5E%+;3U*]YNE:F*XH14KV$_6E^ >[;VHT@=*@H* MTFGJ1/KFC93S%Y+IA*#I40*;>]-5;0EH8+_/9>ZO\F!.' ?C8UW&=KOJ0EH7 M.G\46?K=>@A1PQ B>SISCJ4:N])5JF8B:,2.0NJ>B02-E-BGT:3WP6F5N*W* M(> ':OJ!I&_T@STA3:Y_"$""FI"@&9'.F);:46'>7AD+\=@AQZ,^!")!S4C0 M""7/3$\M!6:N(3ZA< @L@IJ+8!LP.CE/M93LMI,\!#5!C4W0S$TM)JR6M M4G@(>H(:GZ"9GZ[6:\[65#+P*9+\TV+%4>&U:NU8+>$X]N:,!^,IX MF(;CD:E@-(>@5_+JRUNUUJ#1"W5 +UK$SR_BMT_BUQ2.O(%)^6V&2 U.FFXC MCH.*VZH"-$VA=C35G-GG:H'MM P!6DB#%NH 6H>GK*9Y5GNEK):GL_I$FR0S M!3,09N4NM0Y;TL>FE0C>QG M5]-FVW.GN;Z\595JE$/.RU?4J-="5U_>JHHUQJ%V&/>R-77>2'FI@N'$<>'Q M4L71/+VB1O52%YS9MGTL:@AH0QK:4#MH:UTHR/U5"@78 MF;K'LH:@,Z3I#!F1II"UBOF*^6U&:U:713!T:SDX!$IAC5*X TJ=5__ ]1(6 MAM F$!U)-7>EJU0-7?@ET'529;V>!:>8$.>8L\R]Z*I2O'4CU5O_(VZO\+8;&[NQXV(>@(JRI"+?[UZ_\+FFIC]1K ;!A>6SN M0%>!&H9PN[I6EPI/[KHBT1W71G (]L&:?7 []JF^85H*;"AA03*NO6S,7>@J M40,/_H4U+-Q0PTH>S-I\/ 0/8ZUB M]>6MNDU#HQ<9NHI%ZN4IQY[4-FS4[W+AS&VN81&-4^07UK!(O89%B'N\M#'W MJ.N :;0BOZ&$=:)--R_,X!:%&;.KKN'1Y$5^;PGK1/.3/%*3/%*-$>H5TJS2 M!L&0\76Z;U(H6;M(9GL%BZO%WLRK=$>BI6_/-G9^IEP1J@ !6RE36[VY1X!G M>R6S$QEOT^V&][&4<9@>;AA=,I[&PO=V]R:W-H965TSJLCB<>2YWO&7\6:4@F^Q5$BKIVUE)LKUQ7^FL9$#-B& M)NJ;)>,QD>J4KURQX90$:5 /G@,5VNI/W 7\PU9T2'.B"]XCFD>W%P#+25%\9>]7Q7R[J M%/?4@8?';^J?4_/*S L1](Y%7\- KJ^=J0,"NB3;2#ZR_>\T-S32>CZ+1/H* M]OFUG@/\K9 LSH-5!G&89._D6]X0!P%*ISD Y0&H&C \$H#S )P:S3)+;7TB MDBSFG.T!UU ;1)*0)( ;"A/.U/BT])7NCRA_ X^?**2 MA)'XJ!1_!BX0:Z+$YJY4R>L47#]/]#9+%!U)%(-[ELBU +\E 0W*\:XR73A' M;\YOD57PGO !P/ "( \-&_*YLX=_HGX1CBWIX*(0.-7#1_2^IAU.M>_-CG(U M@, 73A()5%$I^$Q"#IY)M*5-[9;I#IMU]31P)3;$I]>.&N>"\AUU%K_\!,?> MKTVF.Q(K-<&P:(*A37WQ<-"5EJH#,:Y[ET\3J=JCR;E5[E3GF=@L%=.3WVX! M!Y.YNVLP-"H,C:R&;O:$!P*L="5I<*'=A*P\9%KY'-53*Q++DK?F<6;9QH7+ ML=7E/Y3P8X/HUAIZ:HDZ$BNYG!0N)SV-STF73="16*D)ID433%N/3^*O0[JC MZH&NYOK@7_6@TH>6+M[4,M.&(8E,Q[/"\UUZ;*&K,$G4H:+#*.V_'\(DIY:/C4V1B8\.>O$$S1#$E7YL3^) MW6=Z6'\#AJ"A(6C'H<,9M:6O3!#B0V-X@(=58WTP#S30 ^W4U-(D;?[+4>VP?"(0- N$3$.ALKL]O,BT7=#BM>NV4A-R#'>J8 M\E6Z<2^ S[:)S#:KBT^+/P?%J:A(@HDL5Z@TFZOG"L\WZ M[$2R3;K?_<*D9'%ZN*8DH%Q?H+Y?,B;?3O0-BK],+/X'4$L#!!0 ( !B$ MHE@W\N[Z*P, /T) 9 >&PO=V]R:W-H965TW\$+7 MB38+;CC*\)HLB'[-YA)F;H42TY1P105'DJS&SH-_/QT:>VOPDY*MJHV14;(4 MXMU,OL=CQS.$"".1-@@8_C9D2A@S0$#C5XGI5)\TCO7Q#OVKU0Y:EEB1J6!O M--;)V!DX*"8KG#/](K;?2*FG:_ BP93]1=O2UG-0E"LMTM(9&*24%__XHXQ# MS0%PFAW:I4/[T*%SQ"$H'0(KM&!F9EW,T/75#;I";H&O$.7HE5.M;FL+/Q*1*X"% MQ:N]^DWC?WX7P5#%J[V(T:9\$?,*R MA0+_%K6]=J>!S_1\]^ $G:!*66#Q@B-XSWE*)-9"(CC$IH;+A,1E0IA0M70V MQ:_ [S3CFWOC7F4X(F,'+@9%Y(8XX>=/?L_[TB3^0F![H>A4H>B<0@^?X9HS MK6]'JGJ3U9B\/2 7>0*;6 M!/$\74)"X/R4%0_WJ=*0-#@X<$:*'%Y#V1?;-TUZBD]V:TS[/;_K'^AIL.IT MNL-F/;U*3^^B>G:5^!]%O;,4-5@=5]2O%/5/GZ&R<$Z?D_XES\F%P/;D#BJY M@Y,)G%0%%@O&L*SI;LQ,@3:HGPJOY74/,M-HY?O-F1E65(V>%9 M9!NM_B'KUEY2N&77ML%0*!(YU\6#4:U6/&ULS5=K;],P%/TK5I 02+"\^AQMI:V 0 )I6GE\0'SPDMO&6F(' MVUG'O^?:2=.FRP*3(M0O3>S<>W+.L6_J.]L*>:L2 $WNLY2KN9-HG9^[KHH2 MR*@Z$SEP?+(6,J,:AW+CJEP"C6U2EKJ!YXW-P)8DJ MLHS*WY>0BNW<\9W=Q#7;)-I,N(M93C>P OTUOY(X+6##[&<\IW MFL3#^QWZ>RL>Q=Q0!4N1?F>Q3N;.Q"$QK&F1ZFNQ_0"5H*'!BT2J["_95K&> M0Z)":9%5R<@@8[R\TOO*B(,$Q&E/"*J$X#AA\$A"6"58Y]R2F97UEFJZF$FQ M)=)$(YJYL=[8;%3#N%G&E9;XE&&>7KRCDC.^420'7-R$2B"OR0HW2URD0,2: M7'#-8I86QFVR@JB03#-0Y-U]E!8QQ&0M14:6(LL+3>W*8%*->H6H*XOZXBUH MRE+U$O'M>]3NPCCYDHA"41ZKF:M1E*'F1I6 RU) \(B D'P67"=(B".;9KZ+ M9M2.!#M'+H-.P,]4GI'0?T4"+QBT\%G^>WK802>L%RBT>.$C>'WY_^,3 I./ M&C+UL\WEDL6@G87YF)RKG$8P=_!KH4#>@;-X_LP?>6_:+.H)K&'8H#9LT(7> M-$SM#8.&85'3,'A8!B]P7Y8[]&6;7R6)H25AOI5WB\ED.)ZY=X<^M 1Y@5<' M-?0-:WW#3GTK+:);(G)#71$M2%[(*,$OF=&4H1QE MHH=^(^=8E[ FM8,*HM M&)U$38SZ-*PGL(9AX]JP\2G4Q/C!=A^,_-%13;0%3PAN1I+7EZ$C4P[=.PGL :AOG>_JCCG4(55"P. M=[@_'05'9= 2%02!WUX'_L%QSN_4B MKS_8\@K^50C?24Y>V+[2F[F"O.SB) MKCZ7%!/(SR?2\X*@CWH-7)0&YL!ZB0 M8\%U><:O9^LN\\+V5D?SEZ;[M"W4'J9L7?$$OV%XM$IAC9#>V1@IR;(;+ =: MY+:ANA$:VS-[FV '#=($X/.U$'HW,"^H>_+%'U!+ P04 " 8A*)8(X7] M>&D" !3!@ &0 'AL+W=OP6P1J>ZAZ,,F06.O8J6W(]N\[MD,**Y;=0R_$ M'L][?F]L#TDCU;TN 0QYJ+C0TZ TIIZ$H_MY":? M!GTK"#ADQC)0_.QA 9Q;(I3QN^4,NBTM\'A\8/_LO*.7#=6PD/P'RTTY#3X$ M)(.KP*2[;2150M&!143_DL?VCH< 9#G/"!J M =%CP/ )0-P"8F?4*W.VKJFA::)D0Y3-1C8[<+5Q:'3#A#W%M5&XRA!GTC44 M>":&4)&3 F2A:%VRC##A+XBM]'MR1Y6BMMSDS348RKA^BU'MH4EH4(=E"[-V MS[G?,WIBSYC<2F%*33Z)'/)3?(CZ.Q/1P<0\NDAX2U6/Q(-W).I'PS-Z%B^' MQQ?DQ%U-8\<7/U/3%=12&28*\G.VT4;AE?UUKEJ>;7B>S3[CB:YI!M, WZD& MM8<@??UJ,.Y_/&?U/Y&=&!]VQH>7V-.[7;4!1>26?*W!WABTWA9#GS/NV4:. MS;:;?3I(POVQFTL9)Q)'G<31"R7ZTZ$;#A"G#:PR/WF<%JG!M2Y-, M[H3QM[R+=IUQYAK"H_@<.Z9OU>H1_D6YB=&UJX+ M;*3!GN*&)79]4#8!U[=2FL/$;M#]CZ1_ 5!+ P04 " 8A*)8);12?9$# M "+$ &0 'AL+W=OTD[;^?;0@)"4'KA-27!L,] MQ_<>GY![.UQ1]ILG (]Y1GA(R,18GYFFCQ,(,?\E,Z!R"9N*>K3U 6Y"F^D&9<_T6K,M8R4+C@@N8E6&:0IZ3XQ$^E M$%L R=,,<$J LPOH'0"X)<#5A1:9Z;(NL<#C(:,KQ%2T9%,76AN-EM6D1!WC M5##Y-)4X,9Y"+ ]%($PB% .-&9XG:8A24CA$*7V"IM(\T2(#1&?RZ)9 %L#1 MXW.9'S"4T;"(?7<) J<9/Y:HA^DE>G=TC(XD&_J6T 67F_"A*63::G,S+%.\ M*%)T#J3HHEM*1,+1%8D@JN--66Y5L[.N^<)I);S%[!2Y]GOD6$ZO(9_)O\/= MEG3<>X+M?*SIC-$=73P(8P1F:E.)R?38WE,0G-]+Q$3KG' 1'/V\D M#[H6D/-?3:(6F_::-U5OAS,^QR&,#/GUY\"68(S?OK%]ZT.3(AV1U?3I5?KT MVM@K?9J*+)"^1JHWUG+<#P9V?V@NM[/?CQI8UL"JHFII>55:7FM:#R05\C2F M HOFW%KA+SV CLAJE?I5I?YK&-3O4I^.R&KZ]"M]^O]MT +I;5G/=STKV#'H M?I07]'V[V:"#*JW!OQCTP+B 18=K U:$6_] RZ8JO7 MZFQJ=5[#IN6N76G4$5M=HTTS9+?V$NU&=?Q:*=-D-=L=4UVK1#=FLWT6Y1?[_7=(*] M=^E^5'_@[?[>FUMCG=0^UM,N1R%=$%%,.]7=:J(^UW/DSOT+-6GK<7%#4XSI M&PO=V]R:W-H965T M<>[,N,-XP_B@1 HJOEPCU=)E)?L,-Q098P _E0W'%U9C_S"_D]9O"IF3@1,6?J3QC*96(&%8EB052KOV>9?J OR M-5_$4E%^HDT=ZU@H6@G)LAJL,LAH7GV3IUJ('0 >' &X-*%GU/V$JHU<38EBI_G84=U;E^KG)UC^3ZE?!+Y.$_ MD>NX P-\V@V_@:B!>VVXK51KI',;Z=R2SSO"=P]KR%<@T(*S#/W])('G2H)I MV33@HM3T5LMU6\KUJ9+KUZWB05\D9.(_DP;5H@/SHOJIOA8%B6!BJ<=6 %^# M%;[[ P^=OTR*]$36TL=K]/&ZV,.#TDW55A3#DD+_Y*Q#[/J^.[;7NV48HK#G M!TU4*[]!D]^@,[\9\#DEIJ0Z<:>VH">R5HE^4Z)_#HOZ?>K3$UE+GV&CS_#M M%JTH_!WSN?[(WW.H(6C@C\P&'379C3JS>WCDZG\83#EU D_M0$]DK1J#IL;@ M' X-^M2G)[*6/E>-/E=O=^B5P7Q7PSV'FH*\(P[%SG9\<+H]FE.IY8U1>'1 MX(AGMW,)[AY,[EBJ^F1,JQ-X/% M*\WJ']@0!P<3@"G*=]TC9MU.*+A[1/DF$^#&K#IQ)_>A)[9VE=M)!X_.XM5> MYZ2^V-H:;2=@Q_6PRAW--Q_G[)WMA7TGHYZ_U[27* 4 M%@KF7(Z4UWFU35*=2%:4.PUS)E7;RL,$2 QO&@VJ\+_ 5!+ M P04 " 8A*)8A)],1$<# #,% #0 'AL+W-T>6QEUY-B9X[*67S]?.TT_\.TZ M'@9=*HA]C\^YQ_9-8^A7>LGIW8Q2'2P*+JI!.-.Z_!A%U61&"U)=R)(*@^12 M%42;KII&5:DHR2H@%3SJM%I)5! FPF%?S(N;0E?!1,Z%'H3=)A2XVY=L$+:3 MRS!P!NY]\.#EI/9Q?[\;/+' >1E[1JP-$+UKF0I4M MBLDGA\GO$\>DN]O2=OBI$7+$4XS6.\C1'D.8<.KQ8X7^0.RVO,2-N4#'DJ.Z M4(;]7(IUO<2A"QAU4M#@D?!!."* 50\,,LX;@YW0!8;]DFA-E;@Q'3O8!I]! M0=V^7Y;&X5219;MS%:X)]F:2C*7*J&K2M,-5:-CG- <[BDUG<->RC #46A:F MD3$RE8)8#RM&W3"R$\KY'3S@/_(M[46^L6]VUT33-(;JII-Q'=#?5'/:F[*7 M+](-2O8H]>>YF8ZP?:A0>JMHSA:VO\@; YAZ&U4\7>E5.BQSWW#E"S_]VG:=44$7X MIFE3^V]YE5_L..Z^EF7[K;)KV.NQ?FN_=9-7QV R.0:31U&3O6,PF1Z!R>ZK M?6L>;C)^FPL9U2>AC>/6UF&KB09PJ!V$W^&(S-=)@_&<<F;\1G-R9SK^P89$VHVYA(>I1Z_97F%X[:4[4)A<3 M&5W0;%1WU71LFX%IF*SU!81=Y,9>?@3C.,R/ (;EP1Q@',?"\OQ/\^FA\W$8 MYJWG17HHIX=R',N'C.P'R^/GI.;RSS1-XSA)L!4=C;P.1MBZ)0G\^-4P;\# M\D"FOUMK?+?Q"ME?!]B>[JL0;*9X)6(SQ=<:$/^Z 2--_;N-Y0$&M@M8[4!^ M?QZH*3\GCF%7,6_8$XPC:8HA4(O^&DT29'42^/CW!WM*XCA-_0A@?@=QC"'P M-.((Y@ \8$@_ 5!+ P04 " 8A*)8EXJ[', M 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6!/D! M5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV)8]I MSI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(=I7\= MQ_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( !B$ MHECOLYQ=?P4 &LM / >&PO=V]R:V)O;VLN>&ULQ9K?3^,X$(#_%:M/ M>])QI?FUNPB0>J3<58)249;7DYNZK442]VRGP/[U-TXHV%!F[V7@J6V2)E_' M]7SC28[OE;Z;*W7''JJR-B>]M;6;HW[?%&M1G6NJ^_X'945AI:IAH]MP*\6]>=GO/K*M-'(N M2VD?3WKM^U+T6"5K60DUYV""=<2FUL>T1[?@Z,6P$'=Y\:J\YE:87.N15_ M:=5L9+URIX%?T?=^1AN'W6L7Q"/]?\*HEDM9B%P5325JV\51B](!UF8M-Z;' M:EZ)D]Z9V@K-IGPEW(^"JXP7W0^T0.:%2Q])V*''BY:1CN?'9/@C']^,+[3\H#08/CL8SMT J*U<5_X MG=7"^@GZ$,O0A[2(8U!DO7(79=P8\-,;.M0?Q (9%H5N!,3N 4YB1#<'E%V# MY8I&^_-@@!ED0*R07,R#D&&B&!";XEIL1=T(?T8.,"<,B*5P(;@):;#D/R#. M_N.Z4)6 ^NXA9,)R_8 XV<^L*NX.YA"F!0,Z]T]O#_+YL#0_(,[S(ZYKJ&@- M@UP&2%P'U266[@?$^7XF5NZ(-BNLA%IIOEG+@LFZ.YN/B5E@0*R!,U55TKJ# MN@16P+H$ BKJ0@;_P@@3040L@EDS-Z H%TZ706P ACD@(G; E#^RK6%3H=NO MUX5@N31%J4P3_!,C= U!;(!Q;>0"IL>-Y@L86C;4&K0JJM>!Q,P0$9L!+2J# MA4Z$"2,B%D9;Q-VZ(HY=@CL N:-\&G0?$S-)1&P2/)K^BBS"Y!(1R\4OTMF7 M&PY7-[_Y<)A9(F*SO-3K>]$PM43$:D%*=\?J8V)JB8C5LK]\WQ?-&)-+3"P7 MM(X/>RR8:F)BU>QJY[WQP_02$^NE*Z+W8J%-*6*CO%>Y/H'ZF)A18F*CO"U@ M]T82LTE,;!.TD@TG"&:3^#/[4D'S+,:\$A-[!<=,?4S,,3&Q8W#,S,?$'!,3 M.R8H(0[8A&O'NH5)E O+I=][QAR3D#LFP!RV.F3<;=60GWQ,S#$)>4LKP'PM M8A1+R[M@[F.>-#1?;"6:AA'Q-@U63P[TGK95 <)9B $F(!/9?EOZ),,?^DQ/[Q*'-I^&JEQ:JKAB%K7ON3 M)\7\DW[4&N> G:G::EY8]BEBV8A7$#;,;^6YHY]\3$Q_Z3$_@FB"?LA*TVYMK(=\J#H2-%;\\3^ M>5KF_G*:8_))B>7SS-B^@5$W=C\DIIZ46#W/D'[E-FLVF[)M2?N8F'I28O4\ M8UYUZQ^8XEU4+]W*R%]9I)A_4O(FV\M-P[UCG6'>R:AOW+S7A.E&W\?$O),1 M>P?!=+/=Q\2\DQ%[!XUFT(C),.]DG]5Y:S']$CC#O)-]?.?-STD^)N:=C-@[ M*&8XZ.A#8=0/"J!-PF#0,?EDQ/+!,8,G[##Y9)_Y\$#0),PP^62M?/KMP>;T M>"&6LA:+"5S"P/:"E\44UGOPTCVEE*3N481E4Y9GL.VJOE!\L7M6>/><\^E_ M4$L#!!0 ( !B$HEB7=W+D+ ( /8H : >&PO7W)E;',O=V]R:V)O M;VLN>&UL+G)E;'/-VDM.XT 4A>&M1%X E;JO0(LPZ@E3Q :L4'F()(Y<;@&[ M[R@,DF/UH"?(9V25+5__HT]6V8\O9=\.N^Y8M[M3G7T>]L>Z;+;#J;^=T3P]WLZ@GH+@=Z">@N!WC)ZV2;06U!O(=!;4&\AT%M0;R'06U!O(=!; M4&\AT%M0;R'06U!O(=!;46\ET%M1;R706U%O)=!;1YLE!'HKZJT$>BOJK01Z M*^JM!'HKZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'H;ZFT$>MMHLYM M;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]'O9U ;T>]G4!O1[V=0&]'O9U M;T>]G4!O'WVL)-#;46\GT-M1;R?0VU%O)]#;46\GT#M0[R#0.U#O(- [4.\@ MT#M0[R#0.U#O(- [4.\@T#M&/YL0Z!VH=Q#H':AW$.@=J'?\I-YU^-J7>NWY M7N-/03])]7"^MUP??UE^GT2<%Q>7M+2;-DVNMOGGV+A^7@1J8S&YV&T$,I\< M]\15X^-1WE"P+Q.&E>\#7L_=/%((34V36QO2M>WR+K9M64S/+<5R?XDO>G3+ M95-1[:I-EX^4T0>R=5P1I:XM=T6/]B>G?,.T^^0'YX]E]@7FG;?!^9@G%NCW M<6\C&4Y/?2Y$(37[7_$],9<^^/UHF'9-]0^S\_4^N; >YQ'9^#C\CC_.^+W^ M+_L0('U(D#X42!\:I \#TLN]<^L_CA^?96>;_BV?C?\17+P 4$L! A0# M% @ &(2B6 =!36*! L0 ! ( ! &1O8U!R M;W!S+V%P<"YX;6Q02P$"% ,4 " 8A*)8$5*)'>X K @ $0 M @ &O 9&]C4')O<',O8V]R92YX;6Q02P$"% ,4 " 8A*)8 MF5R<(Q & "<)P $P @ ', 0 >&PO=&AE;64O=&AE;64Q M+GAM;%!+ 0(4 Q0 ( !B$HE@[4K#3[04 ,,? 8 " M@0T( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6#7J>+SV @ -@@ !@ M ("!Y!0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0# M% @ &(2B6$Y'HX3G!@ ^AT !@ ("!4R0 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6"73H0"I M!0 %0\ !@ ("!+T8 'AL+W=O&UL4$L! A0#% @ &(2B M6')L*=QQ P AP< !D ("!?$\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6"E0N&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6"O_&6>,!@ =1( !D M ("!3G 'AL+W=O&PO=V]R:W-H965T M1[ !X;"]W;W)K&UL4$L! A0# M% @ &(2B6 "[R5JV P /0@ !D ("!&($ 'AL+W=O MTT" Z M!0 &0 @($%A0 >&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6";: M+PY$ @ B@8 !D ("! (H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6"(RQWC+ @ ! 8 !D M ("!8J 'AL+W=O&PO M=V]R:W-H965TZG !X;"]W;W)K&UL4$L! A0#% @ &(2B6"C").9' P $0< !D ("! M>JL 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ &(2B6*R9QYW+! SPL !D ("!OK4 'AL+W=O&PO=V]R:W-H965TJP4 '(0 9 " @1._ !X M;"]W;W)K&UL4$L! A0#% @ &(2B6)M/+5V^ M P $ D !D ("!]<0 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6#CM^'.C @ X@< !D M ("!I\\ 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ &(2B6+%R+T[9!0 7BP !D ("!/MP M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M&(2B6)P-?G':!@ !#D !D ("!?>X 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6(8Y<5CO @ MC@@ !D ("!F?T 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6/AUC610 @ J 4 !D M ("!1@@! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ &(2B6,I\DACF @ (@L !D ("!6Q,! 'AL M+W=O&PO=V]R:W-H965T@9 0!X;"]W;W)K&UL4$L! A0#% @ &(2B M6+?Y(\&G @ RP@ !D ("!(AT! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6,G5PNW! @ T@< M !D ("!6"8! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ &(2B6 *J3:^( P %@X !D M ("!!3 ! 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ &(2B6#?R[OHK P _0D !D ("!X#\! 'AL+W=O M&PO=V]R:W-H965T-& M 0!X;"]W;W)K&UL4$L! A0#% @ &(2B6"6T M4GV1 P BQ !D ("!@TD! 'AL+W=O&PO=V]R:W-H965T7!E&UL4$L%!@ !- $T *$A4 +=? 0 $! end XML 82 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 83 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 85 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.1.u1 html 204 278 1 false 73 0 false 7 false false R1.htm 0000001 - Document - Cover Page Sheet http://www.gdyn.com/role/CoverPage Cover Page Cover 1 false false R2.htm 0000002 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 0000003 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 0000004 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS Statements 4 false false R5.htm 0000005 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS??? EQUITY Sheet http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS??? EQUITY Statements 5 false false R6.htm 0000006 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS Sheet http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS Statements 6 false false R7.htm 0000007 - Disclosure - Nature of operations and summary of significant accounting policies Sheet http://www.gdyn.com/role/Natureofoperationsandsummaryofsignificantaccountingpolicies Nature of operations and summary of significant accounting policies Notes 7 false false R8.htm 0000008 - Disclosure - Acquisitions Sheet http://www.gdyn.com/role/Acquisitions Acquisitions Notes 8 false false R9.htm 0000009 - Disclosure - Fair value Sheet http://www.gdyn.com/role/Fairvalue Fair value Notes 9 false false R10.htm 0000010 - Disclosure - Property and equipment, net Sheet http://www.gdyn.com/role/Propertyandequipmentnet Property and equipment, net Notes 10 false false R11.htm 0000011 - Disclosure - Intangible assets, net Sheet http://www.gdyn.com/role/Intangibleassetsnet Intangible assets, net Notes 11 false false R12.htm 0000012 - Disclosure - Accrued expenses and other current liabilities Sheet http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities Accrued expenses and other current liabilities Notes 12 false false R13.htm 0000013 - Disclosure - Debt Sheet http://www.gdyn.com/role/Debt Debt Notes 13 false false R14.htm 0000014 - Disclosure - Revenues Sheet http://www.gdyn.com/role/Revenues Revenues Notes 14 false false R15.htm 0000015 - Disclosure - Leases Sheet http://www.gdyn.com/role/Leases Leases Notes 15 false false R16.htm 0000016 - Disclosure - Income taxes Sheet http://www.gdyn.com/role/Incometaxes Income taxes Notes 16 false false R17.htm 0000017 - Disclosure - Stock-based compensation Sheet http://www.gdyn.com/role/Stockbasedcompensation Stock-based compensation Notes 17 false false R18.htm 0000018 - Disclosure - Earnings per share Sheet http://www.gdyn.com/role/Earningspershare Earnings per share Notes 18 false false R19.htm 0000019 - Disclosure - Segment and geographic information Sheet http://www.gdyn.com/role/Segmentandgeographicinformation Segment and geographic information Notes 19 false false R20.htm 0000020 - Disclosure - Commitments and contingencies Sheet http://www.gdyn.com/role/Commitmentsandcontingencies Commitments and contingencies Notes 20 false false R21.htm 0000021 - Disclosure - Subsequent events Sheet http://www.gdyn.com/role/Subsequentevents Subsequent events Notes 21 false false R22.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Notes 22 false false R23.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Notes 23 false false R24.htm 9954471 - Disclosure - Nature of operations and summary of significant accounting policies (Policies) Sheet http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies Nature of operations and summary of significant accounting policies (Policies) Policies 24 false false R25.htm 9954472 - Disclosure - Fair Value Measures and Disclosures (Policies) Sheet http://www.gdyn.com/role/FairValueMeasuresandDisclosuresPolicies Fair Value Measures and Disclosures (Policies) Policies 25 false false R26.htm 9954473 - Disclosure - Nature of operations and summary of significant accounting policies (Tables) Sheet http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesTables Nature of operations and summary of significant accounting policies (Tables) Tables http://www.gdyn.com/role/Natureofoperationsandsummaryofsignificantaccountingpolicies 26 false false R27.htm 9954474 - Disclosure - Acquisitions (Tables) Sheet http://www.gdyn.com/role/AcquisitionsTables Acquisitions (Tables) Tables http://www.gdyn.com/role/Acquisitions 27 false false R28.htm 9954475 - Disclosure - Fair value (Tables) Sheet http://www.gdyn.com/role/FairvalueTables Fair value (Tables) Tables http://www.gdyn.com/role/Fairvalue 28 false false R29.htm 9954476 - Disclosure - Property and equipment, net (Tables) Sheet http://www.gdyn.com/role/PropertyandequipmentnetTables Property and equipment, net (Tables) Tables http://www.gdyn.com/role/Propertyandequipmentnet 29 false false R30.htm 9954477 - Disclosure - Intangible assets, net (Tables) Sheet http://www.gdyn.com/role/IntangibleassetsnetTables Intangible assets, net (Tables) Tables http://www.gdyn.com/role/Intangibleassetsnet 30 false false R31.htm 9954478 - Disclosure - Accrued expenses and other current liabilities (Tables) Sheet http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesTables Accrued expenses and other current liabilities (Tables) Tables http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities 31 false false R32.htm 9954479 - Disclosure - Revenues (Tables) Sheet http://www.gdyn.com/role/RevenuesTables Revenues (Tables) Tables http://www.gdyn.com/role/Revenues 32 false false R33.htm 9954480 - Disclosure - Leases (Tables) Sheet http://www.gdyn.com/role/LeasesTables Leases (Tables) Tables http://www.gdyn.com/role/Leases 33 false false R34.htm 9954481 - Disclosure - Stock-based compensation (Tables) Sheet http://www.gdyn.com/role/StockbasedcompensationTables Stock-based compensation (Tables) Tables http://www.gdyn.com/role/Stockbasedcompensation 34 false false R35.htm 9954482 - Disclosure - Earnings per share (Tables) Sheet http://www.gdyn.com/role/EarningspershareTables Earnings per share (Tables) Tables http://www.gdyn.com/role/Earningspershare 35 false false R36.htm 9954483 - Disclosure - Segment and geographic information (Tables) Sheet http://www.gdyn.com/role/SegmentandgeographicinformationTables Segment and geographic information (Tables) Tables http://www.gdyn.com/role/Segmentandgeographicinformation 36 false false R37.htm 9954484 - Disclosure - Nature of operations and summary of significant accounting policies - Allowance (Details) Sheet http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesAllowanceDetails Nature of operations and summary of significant accounting policies - Allowance (Details) Details http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesTables 37 false false R38.htm 9954485 - Disclosure - Nature of operations and summary of significant accounting policies - Stock-based compensation (Details) Sheet http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails Nature of operations and summary of significant accounting policies - Stock-based compensation (Details) Details 38 false false R39.htm 9954486 - Disclosure - Nature of operations and summary of significant accounting policies - Prior period reclassifications (Details) Sheet http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails Nature of operations and summary of significant accounting policies - Prior period reclassifications (Details) Details 39 false false R40.htm 9954487 - Disclosure - Acquisitions - Narrative (Details) Sheet http://www.gdyn.com/role/AcquisitionsNarrativeDetails Acquisitions - Narrative (Details) Details 40 false false R41.htm 9954488 - Disclosure - Acquisitions - Assets acquired and liabilities assumed (Details) Sheet http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails Acquisitions - Assets acquired and liabilities assumed (Details) Details 41 false false R42.htm 9954489 - Disclosure - Acquisitions - Intangible assets acquired (Details) Sheet http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails Acquisitions - Intangible assets acquired (Details) Details 42 false false R43.htm 9954490 - Disclosure - Fair value - Schedule of Fair Value Information for Financial Assets and Liabilities (Details) Sheet http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails Fair value - Schedule of Fair Value Information for Financial Assets and Liabilities (Details) Details 43 false false R44.htm 9954491 - Disclosure - Property and Equipment, net (Details) Sheet http://www.gdyn.com/role/PropertyandEquipmentnetDetails Property and Equipment, net (Details) Details 44 false false R45.htm 9954492 - Disclosure - Intangible assets, net - Summary of Intangible Assets (Details) Sheet http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails Intangible assets, net - Summary of Intangible Assets (Details) Details 45 false false R46.htm 9954493 - Disclosure - Intangible assets, net - Future Amortization Expenses (Detail) Sheet http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail Intangible assets, net - Future Amortization Expenses (Detail) Details 46 false false R47.htm 9954494 - Disclosure - Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) Sheet http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details) Details 47 false false R48.htm 9954495 - Disclosure - Accrued expenses and other current liabilities - Narrative (Details) Sheet http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails Accrued expenses and other current liabilities - Narrative (Details) Details 48 false false R49.htm 9954496 - Disclosure - Debt - Narrative (Details) Sheet http://www.gdyn.com/role/DebtNarrativeDetails Debt - Narrative (Details) Details 49 false false R50.htm 9954497 - Disclosure - Revenues - Narrative (Details) Sheet http://www.gdyn.com/role/RevenuesNarrativeDetails Revenues - Narrative (Details) Details 50 false false R51.htm 9954498 - Disclosure - Revenues - Disaggregation of Revenue (Details) Sheet http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails Revenues - Disaggregation of Revenue (Details) Details 51 false false R52.htm 9954499 - Disclosure - Revenues - Contract Balances (Details) Sheet http://www.gdyn.com/role/RevenuesContractBalancesDetails Revenues - Contract Balances (Details) Details 52 false false R53.htm 9954500 - Disclosure - Revenues - Remaining Performance Obligations (Details) Sheet http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails Revenues - Remaining Performance Obligations (Details) Details 53 false false R54.htm 9954501 - Disclosure - Revenues - Concentration Risk (Details) Sheet http://www.gdyn.com/role/RevenuesConcentrationRiskDetails Revenues - Concentration Risk (Details) Details 54 false false R55.htm 9954502 - Disclosure - Revenues - Related Parties (Details) Sheet http://www.gdyn.com/role/RevenuesRelatedPartiesDetails Revenues - Related Parties (Details) Details 55 false false R56.htm 9954503 - Disclosure - Leases - Narrative (Details) Sheet http://www.gdyn.com/role/LeasesNarrativeDetails Leases - Narrative (Details) Details 56 false false R57.htm 9954504 - Disclosure - Leases - Lease Cost (Details) Sheet http://www.gdyn.com/role/LeasesLeaseCostDetails Leases - Lease Cost (Details) Details 57 false false R58.htm 9954505 - Disclosure - Leases - Schedule of Supplemental Lease Information (Details) Sheet http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails Leases - Schedule of Supplemental Lease Information (Details) Details 58 false false R59.htm 9954506 - Disclosure - Leases - Operating Lease Maturities (Details) Sheet http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails Leases - Operating Lease Maturities (Details) Details 59 false false R60.htm 9954507 - Disclosure - Income taxes (Details) Sheet http://www.gdyn.com/role/IncometaxesDetails Income taxes (Details) Details http://www.gdyn.com/role/Incometaxes 60 false false R61.htm 9954508 - Disclosure - Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails Stock-based compensation - Schedule of employee stock-based compensation recognized (Details) Details 61 false false R62.htm 9954509 - Disclosure - Stock-based compensation - Narrative (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails Stock-based compensation - Narrative (Details) Details 62 false false R63.htm 9954510 - Disclosure - Stock-based compensation - Schedule of option activity (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails Stock-based compensation - Schedule of option activity (Details) Details 63 false false R64.htm 9954511 - Disclosure - Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details) Sheet http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details) Details 64 false false R65.htm 9954512 - Disclosure - Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) Sheet http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details) Details 65 false false R66.htm 9954513 - Disclosure - Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) Sheet http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details) Details 66 false false R67.htm 9954514 - Disclosure - Segment and geographic information - Narrative (Details) Sheet http://www.gdyn.com/role/SegmentandgeographicinformationNarrativeDetails Segment and geographic information - Narrative (Details) Details 67 false false R68.htm 9954515 - Disclosure - Segment and geographic information - Schedule of revenues by customer location (Details) Sheet http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails Segment and geographic information - Schedule of revenues by customer location (Details) Details 68 false false R69.htm 9954516 - Disclosure - Segment and geographic information - Schedule of long-lived assets by physical location (Details) Sheet http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails Segment and geographic information - Schedule of long-lived assets by physical location (Details) Details 69 false false All Reports Book All Reports [ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 10 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:NumberOfOperatingSegments, us-gaap:NumberOfReportableSegments, us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1, us-gaap:RevenueRemainingPerformanceObligationPercentage - gdyn-20240331.htm 4 gdyn-20240331.htm gdyn-20240331.xsd gdyn-20240331_cal.xml gdyn-20240331_def.xml gdyn-20240331_lab.xml gdyn-20240331_pre.xml http://fasb.org/us-gaap/2024 http://xbrl.sec.gov/dei/2024 http://xbrl.sec.gov/ecd/2024 true true JSON 88 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "gdyn-20240331.htm": { "nsprefix": "gdyn", "nsuri": "http://www.gdyn.com/20240331", "dts": { "inline": { "local": [ "gdyn-20240331.htm" ] }, "schema": { "local": [ "gdyn-20240331.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd", "https://xbrl.sec.gov/country/2024/country-2024.xsd", "https://xbrl.sec.gov/dei/2024/dei-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd", "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" ] }, "calculationLink": { "local": [ "gdyn-20240331_cal.xml" ] }, "definitionLink": { "local": [ "gdyn-20240331_def.xml" ] }, "labelLink": { "local": [ "gdyn-20240331_lab.xml" ] }, "presentationLink": { "local": [ "gdyn-20240331_pre.xml" ] } }, "keyStandard": 260, "keyCustom": 18, "axisStandard": 24, "axisCustom": 0, "memberStandard": 56, "memberCustom": 14, "hidden": { "total": 15, "http://fasb.org/us-gaap/2024": 10, "http://xbrl.sec.gov/dei/2024": 5 }, "contextCount": 204, "entityCount": 1, "segmentCount": 73, "elementCount": 570, "unitCount": 7, "baseTaxonomies": { "http://fasb.org/us-gaap/2024": 613, "http://xbrl.sec.gov/dei/2024": 30, "http://xbrl.sec.gov/ecd/2024": 4 }, "report": { "R1": { "role": "http://www.gdyn.com/role/CoverPage", "longName": "0000001 - Document - Cover Page", "shortName": "Cover Page", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS", "longName": "0000002 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R3": { "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical", "longName": "0000003 - Statement - UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "UNAUDITED CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R4": { "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS", "longName": "0000004 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS", "shortName": "UNAUDITED CONDENSED CONSOLIDATED STATEMENTS OF LOSS AND COMPREHENSIVE LOSS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CostOfRevenue", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R5": { "role": "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY", "longName": "0000005 - Statement - UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS\u2019 EQUITY", "shortName": "UNAUDITED CONSOLIDATED STATEMENT OF STOCKHOLDERS\u2019 EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "c-18", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-18", "name": "us-gaap:SharesOutstanding", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R6": { "role": "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS", "longName": "0000006 - Statement - UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS", "shortName": "UNAUDITED CONDENSED CONSOLIDATED STATEMENT OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DepreciationAndAmortization", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R7": { "role": "http://www.gdyn.com/role/Natureofoperationsandsummaryofsignificantaccountingpolicies", "longName": "0000007 - Disclosure - Nature of operations and summary of significant accounting policies", "shortName": "Nature of operations and summary of significant accounting policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "7", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R8": { "role": "http://www.gdyn.com/role/Acquisitions", "longName": "0000008 - Disclosure - Acquisitions", "shortName": "Acquisitions", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "8", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R9": { "role": "http://www.gdyn.com/role/Fairvalue", "longName": "0000009 - Disclosure - Fair value", "shortName": "Fair value", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.gdyn.com/role/Propertyandequipmentnet", "longName": "0000010 - Disclosure - Property and equipment, net", "shortName": "Property and equipment, net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.gdyn.com/role/Intangibleassetsnet", "longName": "0000011 - Disclosure - Intangible assets, net", "shortName": "Intangible assets, net", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities", "longName": "0000012 - Disclosure - Accrued expenses and other current liabilities", "shortName": "Accrued expenses and other current liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.gdyn.com/role/Debt", "longName": "0000013 - Disclosure - Debt", "shortName": "Debt", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.gdyn.com/role/Revenues", "longName": "0000014 - Disclosure - Revenues", "shortName": "Revenues", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.gdyn.com/role/Leases", "longName": "0000015 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.gdyn.com/role/Incometaxes", "longName": "0000016 - Disclosure - Income taxes", "shortName": "Income taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.gdyn.com/role/Stockbasedcompensation", "longName": "0000017 - Disclosure - Stock-based compensation", "shortName": "Stock-based compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.gdyn.com/role/Earningspershare", "longName": "0000018 - Disclosure - Earnings per share", "shortName": "Earnings per share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EarningsPerShareTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.gdyn.com/role/Segmentandgeographicinformation", "longName": "0000019 - Disclosure - Segment and geographic information", "shortName": "Segment and geographic information", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.gdyn.com/role/Commitmentsandcontingencies", "longName": "0000020 - Disclosure - Commitments and contingencies", "shortName": "Commitments and contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.gdyn.com/role/Subsequentevents", "longName": "0000021 - Disclosure - Subsequent events", "shortName": "Subsequent events", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:SubsequentEventsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R22": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": null }, "R23": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:Rule10b51ArrTrmntdFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:Rule10b51ArrTrmntdFlag", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies", "longName": "9954471 - Disclosure - Nature of operations and summary of significant accounting policies (Policies)", "shortName": "Nature of operations and summary of significant accounting policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "24", "firstAnchor": { "contextRef": "c-1", "name": "gdyn:NatureOfBusinessPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "gdyn:NatureOfBusinessPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.gdyn.com/role/FairValueMeasuresandDisclosuresPolicies", "longName": "9954472 - Disclosure - Fair Value Measures and Disclosures (Policies)", "shortName": "Fair Value Measures and Disclosures (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "25", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:InvestmentPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesTables", "longName": "9954473 - Disclosure - Nature of operations and summary of significant accounting policies (Tables)", "shortName": "Nature of operations and summary of significant accounting policies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "c-1", "name": "gdyn:ScheduleOfReclassificationsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "us-gaap:PriorPeriodReclassificationAdjustmentDescription", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "gdyn:ScheduleOfReclassificationsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "us-gaap:PriorPeriodReclassificationAdjustmentDescription", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.gdyn.com/role/AcquisitionsTables", "longName": "9954474 - Disclosure - Acquisitions (Tables)", "shortName": "Acquisitions (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.gdyn.com/role/FairvalueTables", "longName": "9954475 - Disclosure - Fair value (Tables)", "shortName": "Fair value (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.gdyn.com/role/PropertyandequipmentnetTables", "longName": "9954476 - Disclosure - Property and equipment, net (Tables)", "shortName": "Property and equipment, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.gdyn.com/role/IntangibleassetsnetTables", "longName": "9954477 - Disclosure - Intangible assets, net (Tables)", "shortName": "Intangible assets, net (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesTables", "longName": "9954478 - Disclosure - Accrued expenses and other current liabilities (Tables)", "shortName": "Accrued expenses and other current liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.gdyn.com/role/RevenuesTables", "longName": "9954479 - Disclosure - Revenues (Tables)", "shortName": "Revenues (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.gdyn.com/role/LeasesTables", "longName": "9954480 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.gdyn.com/role/StockbasedcompensationTables", "longName": "9954481 - Disclosure - Stock-based compensation (Tables)", "shortName": "Stock-based compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.gdyn.com/role/EarningspershareTables", "longName": "9954482 - Disclosure - Earnings per share (Tables)", "shortName": "Earnings per share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.gdyn.com/role/SegmentandgeographicinformationTables", "longName": "9954483 - Disclosure - Segment and geographic information (Tables)", "shortName": "Segment and geographic information (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesAllowanceDetails", "longName": "9954484 - Disclosure - Nature of operations and summary of significant accounting policies - Allowance (Details)", "shortName": "Nature of operations and summary of significant accounting policies - Allowance (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "div", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": null }, "R38": { "role": "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails", "longName": "9954485 - Disclosure - Nature of operations and summary of significant accounting policies - Stock-based compensation (Details)", "shortName": "Nature of operations and summary of significant accounting policies - Stock-based compensation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "c-32", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-32", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "div", "us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails", "longName": "9954486 - Disclosure - Nature of operations and summary of significant accounting policies - Prior period reclassifications (Details)", "shortName": "Nature of operations and summary of significant accounting policies - Prior period reclassifications (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-40", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:PriorPeriodReclassificationAdjustmentDescription", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R40": { "role": "http://www.gdyn.com/role/AcquisitionsNarrativeDetails", "longName": "9954487 - Disclosure - Acquisitions - Narrative (Details)", "shortName": "Acquisitions - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "c-41", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-41", "name": "us-gaap:BusinessAcquisitionPercentageOfVotingInterestsAcquired", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "longName": "9954488 - Disclosure - Acquisitions - Assets acquired and liabilities assumed (Details)", "shortName": "Acquisitions - Assets acquired and liabilities assumed (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:Goodwill", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-41", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R42": { "role": "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "longName": "9954489 - Disclosure - Acquisitions - Intangible assets acquired (Details)", "shortName": "Acquisitions - Intangible assets acquired (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "c-114", "name": "us-gaap:FiniteLivedIntangibleAssetUsefulLife", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-47", "name": "us-gaap:BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R43": { "role": "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails", "longName": "9954490 - Disclosure - Fair value - Schedule of Fair Value Information for Financial Assets and Liabilities (Details)", "shortName": "Fair value - Schedule of Fair Value Information for Financial Assets and Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "c-57", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-57", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.gdyn.com/role/PropertyandEquipmentnetDetails", "longName": "9954491 - Disclosure - Property and Equipment, net (Details)", "shortName": "Property and Equipment, net (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:PropertyPlantAndEquipmentNet", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-102", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R45": { "role": "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "longName": "9954492 - Disclosure - Intangible assets, net - Summary of Intangible Assets (Details)", "shortName": "Intangible assets, net - Summary of Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail", "longName": "9954493 - Disclosure - Intangible assets, net - Future Amortization Expenses (Detail)", "shortName": "Intangible assets, net - Future Amortization Expenses (Detail)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R47": { "role": "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails", "longName": "9954494 - Disclosure - Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details)", "shortName": "Accrued expenses and other current liabilities - Components of Accrued Expenses and Other Current Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:AccruedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:AccruedLiabilitiesCurrent", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "us-gaap:OtherCurrentLiabilitiesTableTextBlock", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R48": { "role": "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails", "longName": "9954495 - Disclosure - Accrued expenses and other current liabilities - Narrative (Details)", "shortName": "Accrued expenses and other current liabilities - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "c-119", "name": "us-gaap:OtherLiabilities", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-119", "name": "us-gaap:OtherLiabilities", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.gdyn.com/role/DebtNarrativeDetails", "longName": "9954496 - Disclosure - Debt - Narrative (Details)", "shortName": "Debt - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LineOfCredit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LineOfCredit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.gdyn.com/role/RevenuesNarrativeDetails", "longName": "9954497 - Disclosure - Revenues - Narrative (Details)", "shortName": "Revenues - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": null, "uniqueAnchor": null }, "R51": { "role": "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails", "longName": "9954498 - Disclosure - Revenues - Disaggregation of Revenue (Details)", "shortName": "Revenues - Disaggregation of Revenue (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-143", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R52": { "role": "http://www.gdyn.com/role/RevenuesContractBalancesDetails", "longName": "9954499 - Disclosure - Revenues - Contract Balances (Details)", "shortName": "Revenues - Contract Balances (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:ContractWithCustomerAssetGross", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails", "longName": "9954500 - Disclosure - Revenues - Remaining Performance Obligations (Details)", "shortName": "Revenues - Remaining Performance Obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:RevenueRemainingPerformanceObligation", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails", "longName": "9954501 - Disclosure - Revenues - Concentration Risk (Details)", "shortName": "Revenues - Concentration Risk (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "c-151", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-151", "name": "us-gaap:ConcentrationRiskPercentage1", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R55": { "role": "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails", "longName": "9954502 - Disclosure - Revenues - Related Parties (Details)", "shortName": "Revenues - Related Parties (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-157", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "ix:continuation", "span", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R56": { "role": "http://www.gdyn.com/role/LeasesNarrativeDetails", "longName": "9954503 - Disclosure - Leases - Narrative (Details)", "shortName": "Leases - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:OtherCommitment", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:OtherCommitment", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R57": { "role": "http://www.gdyn.com/role/LeasesLeaseCostDetails", "longName": "9954504 - Disclosure - Leases - Lease Cost (Details)", "shortName": "Leases - Lease Cost (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeaseCost", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails", "longName": "9954505 - Disclosure - Leases - Schedule of Supplemental Lease Information (Details)", "shortName": "Leases - Schedule of Supplemental Lease Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:OperatingLeasePayments", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R59": { "role": "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails", "longName": "9954506 - Disclosure - Leases - Operating Lease Maturities (Details)", "shortName": "Leases - Operating Lease Maturities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.gdyn.com/role/IncometaxesDetails", "longName": "9954507 - Disclosure - Income taxes (Details)", "shortName": "Income taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:IncomeTaxExpenseBenefit", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "3", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R61": { "role": "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails", "longName": "9954508 - Disclosure - Stock-based compensation - Schedule of employee stock-based compensation recognized (Details)", "shortName": "Stock-based compensation - Schedule of employee stock-based compensation recognized (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "longName": "9954509 - Disclosure - Stock-based compensation - Narrative (Details)", "shortName": "Stock-based compensation - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "c-177", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-177", "name": "us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-5", "ancestors": [ "span", "div", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R63": { "role": "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "longName": "9954510 - Disclosure - Stock-based compensation - Schedule of option activity (Details)", "shortName": "Stock-based compensation - Schedule of option activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "unitRef": "usdPerShare", "xsiNil": "false", "lang": "en-US", "decimals": "2", "ancestors": [ "span", "td", "tr", "table", "div", "ix:continuation", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "longName": "9954511 - Disclosure - Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details)", "shortName": "Stock-based compensation - Schedule of restricted stock unit and performance stock unit activity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "c-4", "name": "gdyn:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceFactor", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-4", "name": "gdyn:ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceFactor", "unitRef": "number", "xsiNil": "false", "lang": "en-US", "decimals": "INF", "ancestors": [ "span", "div", "us-gaap:ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R65": { "role": "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "longName": "9954512 - Disclosure - Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details)", "shortName": "Earnings per share - Schedule of Computation of Basic and Diluted Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "65", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:NetIncomeLoss", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": null }, "R66": { "role": "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "longName": "9954513 - Disclosure - Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)", "shortName": "Earnings per share - Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "66", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-1", "name": "us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "unitRef": "shares", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.gdyn.com/role/SegmentandgeographicinformationNarrativeDetails", "longName": "9954514 - Disclosure - Segment and geographic information - Narrative (Details)", "shortName": "Segment and geographic information - Narrative (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": null, "uniqueAnchor": null }, "R68": { "role": "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails", "longName": "9954515 - Disclosure - Segment and geographic information - Schedule of revenues by customer location (Details)", "shortName": "Segment and geographic information - Schedule of revenues by customer location (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "c-1", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:DisaggregationOfRevenueTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true }, "uniqueAnchor": { "contextRef": "c-187", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "unique": true } }, "R69": { "role": "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails", "longName": "9954516 - Disclosure - Segment and geographic information - Schedule of long-lived assets by physical location (Details)", "shortName": "Segment and geographic information - Schedule of long-lived assets by physical location (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "c-3", "name": "us-gaap:NoncurrentAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "c-3", "name": "us-gaap:NoncurrentAssets", "unitRef": "usd", "xsiNil": "false", "lang": "en-US", "decimals": "-3", "ancestors": [ "span", "td", "tr", "table", "div", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "ix:continuation", "body", "html" ], "reportCount": 1, "baseRef": "gdyn-20240331.htm", "first": true, "unique": true } } }, "tag": { "gdyn_A2018StockPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "A2018StockPlanMember", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2018 Plan", "label": "2018 Stock Plan [Member]" } } }, "auth_ref": [] }, "gdyn_A2020EquityIncentivePlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "A2020EquityIncentivePlanMember", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2020 Plan", "label": "2020 Equity Incentive Plan [Member]", "documentation": "2020 Equity Incentive Plan" } } }, "auth_ref": [] }, "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "terseLabel": "Accounting Policies [Abstract]", "label": "Accounting Policies [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "presentation": [ "http://www.gdyn.com/role/Accruedexpensesandothercurrentliabilities" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "label": "Accounts Payable, Accrued Liabilities, and Other Liabilities Disclosure, Current [Text Block]", "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period." } } }, "auth_ref": [ "r364" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Accounts Payable, Current", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r64", "r698" ] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableMember", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable", "label": "Accounts Receivable [Member]", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r635" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts receivable, net of allowance of $1,389 and $1,363 as of March\u00a031, 2024 and December\u00a031, 2023, respectively", "verboseLabel": "Accounts receivable", "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r849" ] }, "us-gaap_AccruedIncomeTaxesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedIncomeTaxesCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued income taxes", "label": "Accrued Income Taxes, Current", "documentation": "Carrying amount as of the balance sheet date of the unpaid sum of the known and estimated amounts payable to satisfy all currently due domestic and foreign income tax obligations." } } }, "auth_ref": [ "r67", "r113" ] }, "us-gaap_AccruedLiabilitiesAndOtherLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesAndOtherLiabilities", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 }, "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "totalLabel": "Total accrued expenses and other current liabilities", "label": "Accrued Liabilities and Other Liabilities", "documentation": "Amount of expenses incurred but not yet paid nor invoiced, and liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses", "label": "Accrued Liabilities, Current", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r67" ] }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "negatedLabel": "Less: Accumulated depreciation and amortization", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r36", "r149", "r524" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive income/(loss)", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r18", "r19", "r81", "r154", "r520", "r550", "r554" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated other comprehensive income/(loss)", "label": "AOCI Attributable to Parent [Member]", "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r4", "r11", "r19", "r399", "r402", "r462", "r545", "r546", "r827", "r828", "r829", "r836", "r837", "r838", "r840" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Additional 402(v) Disclosure", "label": "Additional 402(v) Disclosure [Text Block]" } } }, "auth_ref": [ "r765" ] }, "us-gaap_AdditionalPaidInCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapital", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid in Capital", "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock." } } }, "auth_ref": [ "r76", "r698", "r974" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Additional paid-in capital", "label": "Additional Paid-in Capital [Member]", "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders." } } }, "auth_ref": [ "r564", "r836", "r837", "r838", "r840", "r917", "r975" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation, Amount", "label": "Adjustment to Compensation Amount" } } }, "auth_ref": [ "r778" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Compensation:", "label": "Adjustment to Compensation [Axis]" } } }, "auth_ref": [ "r778" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote", "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]" } } }, "auth_ref": [ "r778" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment To PEO Compensation, Footnote", "label": "Adjustment To PEO Compensation, Footnote [Text Block]" } } }, "auth_ref": [ "r778" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r40", "r41", "r321" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustments to reconcile net loss to net cash provided by operating activities:", "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table", "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]" } } }, "auth_ref": [ "r811" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Amount", "label": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r737", "r747", "r757", "r789" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined", "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]" } } }, "auth_ref": [ "r740", "r750", "r760", "r792" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Pension Adjustments Service Cost", "label": "Aggregate Pension Adjustments Service Cost [Member]" } } }, "auth_ref": [ "r812" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Adjustments to Compensation", "label": "All Adjustments to Compensation [Member]" } } }, "auth_ref": [ "r778" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Executive Categories", "label": "All Executive Categories [Member]" } } }, "auth_ref": [ "r785" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "All Individuals", "label": "All Individuals [Member]" } } }, "auth_ref": [ "r741", "r751", "r761", "r785", "r793", "r797", "r805" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "All Trading Arrangements", "label": "All Trading Arrangements [Member]" } } }, "auth_ref": [ "r803" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Total stock-based compensation", "label": "Share-Based Payment Arrangement, Expense", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r353", "r362" ] }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesAllowanceDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for doubtful accounts", "label": "Accounts Receivable, Allowance for Credit Loss, Current", "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current." } } }, "auth_ref": [ "r155", "r230", "r237" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "AmendmentFlag", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Amendment Flag", "label": "Amendment Flag", "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive securities excluded from computation of earnings per share (in shares)", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented." } } }, "auth_ref": [ "r200" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities [Axis]", "label": "Antidilutive Securities [Axis]", "documentation": "Information by type of antidilutive security." } } }, "auth_ref": [ "r24" ] }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_AntidilutiveSecuritiesNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AntidilutiveSecuritiesNameDomain", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Antidilutive Securities, Name [Domain]", "label": "Antidilutive Securities, Name [Domain]", "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented." } } }, "auth_ref": [ "r24" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets", "label": "Assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r112", "r124", "r153", "r171", "r204", "r210", "r218", "r221", "r232", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r394", "r396", "r433", "r514", "r591", "r662", "r663", "r698", "r728", "r879", "r880", "r931" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Assets", "label": "Assets [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current assets", "label": "Assets, Current", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r145", "r156", "r171", "r232", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r394", "r396", "r433", "r698", "r879", "r880", "r931" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets", "label": "Assets, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_AutomobilesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AutomobilesMember", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Machinery and automobiles", "label": "Automobiles [Member]", "documentation": "Vehicles that are used primarily for transporting people." } } }, "auth_ref": [] }, "us-gaap_AwardDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardDateAxis", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award Date [Axis]", "label": "Award Date [Axis]", "documentation": "Information by date or year award under share-based payment arrangement is granted." } } }, "auth_ref": [ "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913" ] }, "us-gaap_AwardDateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardDateDomain", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Award Date [Domain]", "label": "Award Date [Domain]", "documentation": "Date or year award under share-based payment arrangement is granted." } } }, "auth_ref": [ "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913" ] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise Price", "label": "Award Exercise Price" } } }, "auth_ref": [ "r800" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value as of Grant Date", "label": "Award Grant Date Fair Value" } } }, "auth_ref": [ "r801" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]" } } }, "auth_ref": [ "r796" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing, How MNPI Considered", "label": "Award Timing, How MNPI Considered [Text Block]" } } }, "auth_ref": [ "r796" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Method", "label": "Award Timing Method [Text Block]" } } }, "auth_ref": [ "r796" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Considered", "label": "Award Timing MNPI Considered [Flag]" } } }, "auth_ref": [ "r796" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing MNPI Disclosure", "label": "Award Timing MNPI Disclosure [Text Block]" } } }, "auth_ref": [ "r796" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Timing Predetermined", "label": "Award Timing Predetermined [Flag]" } } }, "auth_ref": [ "r796" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardTypeAxis", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Axis]", "label": "Award Type [Axis]", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r324", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r348", "r349", "r350", "r351", "r352" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Securities", "label": "Award Underlying Securities Amount" } } }, "auth_ref": [ "r799" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Awards Close in Time to MNPI Disclosures, Individual Name" } } }, "auth_ref": [ "r798" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures", "label": "Awards Close in Time to MNPI Disclosures [Table]" } } }, "auth_ref": [ "r797" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Awards Close in Time to MNPI Disclosures, Table", "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]" } } }, "auth_ref": [ "r797" ] }, "us-gaap_BankTimeDepositsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BankTimeDepositsMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Time deposits", "label": "Bank Time Deposits [Member]", "documentation": "Certificates of deposit (CD) or savings accounts with a fixed term or understanding the customer can only withdraw by giving advanced notice with a bank or other financial institution. A CD is a short to medium-term investment available at banks and savings and loan institutions where a customer agrees to lend money to the institution for a certain amount of time and is paid a predetermined rate of interest." } } }, "auth_ref": [ "r120" ] }, "us-gaap_BaseRateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BaseRateMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Base Rate", "label": "Base Rate [Member]", "documentation": "Minimum rate investor will accept." } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Basis of presentation", "label": "Basis of Accounting, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition, Acquiree [Domain]", "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r244", "r245", "r246", "r247", "r248", "r388", "r684", "r685" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Axis]", "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r42", "r44", "r244", "r245", "r246", "r247", "r248", "r388", "r684", "r685" ] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Business Acquisition [Line Items]", "label": "Business Acquisition [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r388" ] }, "gdyn_BusinessAcquisitionNumberOfEmployeesAcquired": { "xbrltype": "integerItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "BusinessAcquisitionNumberOfEmployeesAcquired", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of employees acquired", "label": "Business Acquisition, Number of Employees Acquired", "documentation": "Business Acquisition, Number of Employees Acquired" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionPercentageOfVotingInterestsAcquired": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessAcquisitionPercentageOfVotingInterestsAcquired", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of voting interests acquired", "label": "Business Acquisition, Percentage of Voting Interests Acquired", "documentation": "Percentage of voting equity interests acquired at the acquisition date in the business combination." } } }, "auth_ref": [ "r43" ] }, "us-gaap_BusinessCombinationAndAssetAcquisitionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationAndAssetAcquisitionAbstract", "lang": { "en-us": { "role": { "label": "Business Combination, Asset Acquisition, and Joint Venture Formation [Abstract]" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Consideration transferred", "label": "Business Combination, Consideration Transferred", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r1", "r2", "r10" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationContingentConsiderationArrangementsRangeOfOutcomesValueHigh", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum contingent consideration", "label": "Business Combination, Contingent Consideration Arrangements, Range of Outcomes, Value, High", "documentation": "For contingent consideration arrangements recognized in connection with a business combination, this element represents an estimate of the high-end of the potential range (undiscounted) of the consideration which may be paid." } } }, "auth_ref": [ "r52" ] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent consideration", "label": "Business Combination, Contingent Consideration, Liability", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r51", "r108", "r391", "r411", "r412", "r413" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.gdyn.com/role/Acquisitions" ], "lang": { "en-us": { "role": { "terseLabel": "Acquisitions", "label": "Business Combination Disclosure [Text Block]", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r106", "r389" ] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentConsiderationTransferred", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Original purchase price adjustment", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Consideration Transferred", "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." } } }, "auth_ref": [ "r47" ] }, "gdyn_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxLiability", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to deferred taxes", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Deferred Tax Liability", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to deferred tax liabilities assumed in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [] }, "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total assets acquired", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Assets Acquired Including Goodwill" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r46" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssets", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Current assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets", "documentation": "Amount of assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r46" ] }, "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayableAndAccruedExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayableAndAccruedExpenses", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Accounts payable, accrued expenses and other liabilities", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses", "documentation": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable and Accrued Expenses" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Deferred taxes", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences assumed at the acquisition date." } } }, "auth_ref": [ "r46" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Intangible assets", "terseLabel": "Fair Value", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r45", "r46" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLiabilities", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "negatedTotalLabel": "Total liabilities assumed", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Liabilities", "documentation": "Amount of liabilities assumed at the acquisition date." } } }, "auth_ref": [ "r46" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent assets", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r46" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, plant and equipment", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r45", "r46" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Purchase price allocation", "label": "Business Combination, Recognized Identifiable Assets Acquired, Goodwill, and Liabilities Assumed, Net", "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r46" ] }, "us-gaap_CarryingReportedAmountFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CarryingReportedAmountFairValueDisclosureMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reported Value Measurement", "label": "Reported Value Measurement [Member]", "documentation": "Measured as reported on the statement of financial position (balance sheet)." } } }, "auth_ref": [ "r57", "r58" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and cash equivalents", "label": "Cash and Cash Equivalents, at Carrying Value", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r22", "r147", "r653" ] }, "us-gaap_CashAndCashEquivalentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAxis", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Axis]", "label": "Cash and Cash Equivalents [Axis]", "documentation": "Information by type of cash and cash equivalent balance." } } }, "auth_ref": [ "r147" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash equivalents", "label": "Cash and Cash Equivalents, Fair Value Disclosure", "documentation": "Fair value portion of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r919", "r920" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "periodStartLabel": "Cash and cash equivalents, beginning of period", "periodEndLabel": "Cash and cash equivalents, end of period", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r22", "r89", "r169" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net increase/(decrease) in cash and cash equivalents", "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r3", "r89" ] }, "us-gaap_CashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashEquivalentsMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash Equivalents", "label": "Cash Equivalents [Member]", "documentation": "Short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r147" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Changed Peer Group, Footnote", "label": "Changed Peer Group, Footnote [Text Block]" } } }, "auth_ref": [ "r776" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year", "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]" } } }, "auth_ref": [ "r773" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested", "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]" } } }, "auth_ref": [ "r771" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CityAreaCode", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "City Area Code", "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Amount", "label": "Company Selected Measure Amount" } } }, "auth_ref": [ "r777" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Company Selected Measure Name", "label": "Company Selected Measure Name" } } }, "auth_ref": [ "r777" ] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingencies", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies (Note 14)", "label": "Commitments and Contingencies", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r72", "r116", "r518", "r578" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Commitments and Contingencies Disclosure [Abstract]", "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.gdyn.com/role/Commitmentsandcontingencies" ], "lang": { "en-us": { "role": { "terseLabel": "Commitments and contingencies", "label": "Commitments and Contingencies Disclosure [Text Block]", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r101", "r265", "r266", "r636", "r872", "r874" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockMember", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Common Stock", "label": "Common Stock [Member]", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r716", "r717", "r718", "r720", "r721", "r722", "r723", "r836", "r837", "r840", "r917", "r972", "r975" ] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, par value (in dollars per share)", "label": "Common Stock, Par or Stated Value Per Share", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r75" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares authorized (in shares)", "label": "Common Stock, Shares Authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r75", "r579" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares issued (in shares)", "label": "Common Stock, Shares, Issued", "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury." } } }, "auth_ref": [ "r75" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETSParenthetical" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, shares outstanding (in shares)", "label": "Common Stock, Shares, Outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r12", "r75", "r579", "r597", "r975", "r976" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Common stock, $0.0001 par value; 110,000,000 shares authorized; 76,521,182 and 75,887,475 issued and outstanding as of March\u00a031, 2024 and December\u00a031, 2023, respectively", "label": "Common Stock, Value, Issued", "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity." } } }, "auth_ref": [ "r75", "r519", "r698" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Company Selected Measure", "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]" } } }, "auth_ref": [ "r782" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Net Income", "label": "Compensation Actually Paid vs. Net Income [Text Block]" } } }, "auth_ref": [ "r781" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Other Measure", "label": "Compensation Actually Paid vs. Other Measure [Text Block]" } } }, "auth_ref": [ "r783" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return", "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]" } } }, "auth_ref": [ "r780" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Comprehensive loss", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners." } } }, "auth_ref": [ "r20", "r158", "r160", "r164", "r510", "r529", "r530" ] }, "us-gaap_ComputerEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComputerEquipmentMember", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Computers and equipment", "label": "Computer Equipment [Member]", "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems." } } }, "auth_ref": [] }, "us-gaap_ComputerSoftwareIntangibleAssetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComputerSoftwareIntangibleAssetMember", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Acquired software", "label": "Computer Software, Intangible Asset [Member]", "documentation": "Collection of computer programs and related data that provide instructions to a computer, for example, but not limited to, application program, control module or operating system, that perform one or more particular functions or tasks." } } }, "auth_ref": [ "r649", "r652", "r860", "r861", "r862", "r863", "r865", "r867", "r870", "r871" ] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Domain]", "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r26", "r27", "r59", "r60", "r228", "r635" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Benchmark [Axis]", "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r26", "r27", "r59", "r60", "r228", "r556", "r635" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Axis]", "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r26", "r27", "r59", "r60", "r228", "r635", "r818" ] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration risk percentage", "label": "Concentration Risk, Percentage", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r26", "r27", "r59", "r60", "r228" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Concentration Risk Type [Domain]", "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r26", "r27", "r59", "r60", "r228", "r635" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Principles of consolidation", "label": "Consolidation, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r54", "r655" ] }, "us-gaap_ConsolidationVariableInterestEntityPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConsolidationVariableInterestEntityPolicy", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Principles of consolidation, variable interest entities", "label": "Consolidation, Variable Interest Entity, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for consolidation to describe the significant judgments and assumptions made in determining whether a variable interest held by the entity requires the variable interest entity to be consolidated and (or) disclose information about its involvement with the variable interest entity; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; and the significant factors considered and judgments made in determining that the power to direct the activities that significantly impact the economic performance of the variable interest entity are shared (as defined)." } } }, "auth_ref": [ "r53", "r55", "r56" ] }, "us-gaap_ContractWithCustomerAssetGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetGross", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/RevenuesContractBalancesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract assets", "label": "Contract with Customer, Asset, before Allowance for Credit Loss", "documentation": "Amount, before allowance for credit loss, of right to consideration in exchange for good or service transferred to customer, when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r128", "r239", "r882", "r883" ] }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerBasisOfPricingAxis", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with Customer, Basis of Pricing [Axis]", "label": "Contract with Customer, Basis of Pricing [Axis]", "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer." } } }, "auth_ref": [ "r677", "r884" ] }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerBasisOfPricingDomain", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract with Customer, Basis of Pricing [Domain]", "label": "Contract with Customer, Basis of Pricing [Domain]", "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts." } } }, "auth_ref": [ "r677", "r884" ] }, "us-gaap_ContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiability", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/RevenuesContractBalancesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contract liabilities", "label": "Contract with Customer, Liability", "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable." } } }, "auth_ref": [ "r295", "r296", "r307" ] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/RevenuesContractBalancesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues recognized", "label": "Contract with Customer, Liability, Revenue Recognized", "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due." } } }, "auth_ref": [ "r308" ] }, "us-gaap_ContractWithCustomerRefundLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerRefundLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer deposits", "label": "Contract with Customer, Refund Liability, Current", "documentation": "Amount of liability for consideration received or receivable from customer which is not included in transaction price, when consideration is expected to be refunded to customer, classified as current." } } }, "auth_ref": [ "r885" ] }, "us-gaap_CostOfRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfRevenue", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Revenue", "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period." } } }, "auth_ref": [ "r84", "r171", "r232", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r433", "r662", "r879" ] }, "us-gaap_CostOfSalesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfSalesMember", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cost of revenue", "label": "Cost of Sales [Member]", "documentation": "Primary financial statement caption encompassing cost of sales." } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Cover [Abstract]", "documentation": "Cover page." } } }, "auth_ref": [] }, "us-gaap_CreditFacilityAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityAxis", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Axis]", "label": "Credit Facility [Axis]", "documentation": "Information by type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r272", "r877" ] }, "us-gaap_CreditFacilityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CreditFacilityDomain", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Credit Facility [Domain]", "label": "Credit Facility [Domain]", "documentation": "Type of credit facility. Credit facilities provide capital to borrowers without the need to structure a loan for each borrowing." } } }, "auth_ref": [ "r272", "r877", "r878" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Current Fiscal Year End Date", "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer Concentration Risk", "label": "Customer Concentration Risk [Member]", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r95", "r228" ] }, "gdyn_CustomerOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "CustomerOneMember", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer 1", "label": "Customer One [Member]", "documentation": "Customer One" } } }, "auth_ref": [] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer relationships", "label": "Customer Relationships [Member]", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r50", "r860", "r861", "r862", "r863", "r865", "r867", "r870", "r871" ] }, "gdyn_DailySimpleSOFRSONIAOrSARONMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "DailySimpleSOFRSONIAOrSARONMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Daily Simple SOFR, SONIA, Or SARON Rate", "label": "Daily Simple SOFR, SONIA, Or SARON [Member]", "documentation": "Daily Simple SOFR, SONIA, Or SARON" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.gdyn.com/role/Debt" ], "lang": { "en-us": { "role": { "terseLabel": "Debt", "label": "Debt Disclosure [Text Block]", "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants." } } }, "auth_ref": [ "r102", "r170", "r258", "r259", "r260", "r261", "r262", "r271", "r272", "r282", "r283", "r284", "r285", "r286", "r287", "r288", "r290", "r291", "r292", "r293", "r441" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Basis spread on variable rate", "label": "Debt Instrument, Basis Spread on Variable Rate", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax assets", "label": "Deferred Income Tax Assets, Net", "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting." } } }, "auth_ref": [ "r367", "r368" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred tax liabilities", "label": "Deferred Income Tax Liabilities, Net", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r367", "r368", "r515" ] }, "us-gaap_DeferredIncomeTaxesAndTaxCredits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxesAndTaxCredits", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred income taxes", "label": "Deferred Income Taxes and Tax Credits", "documentation": "Amount of deferred income tax expense (benefit) and income tax credits." } } }, "auth_ref": [ "r92" ] }, "us-gaap_DeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredRevenueCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Deferred revenue", "label": "Deferred Revenue, Current", "documentation": "Amount of deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable, classified as current." } } }, "auth_ref": [ "r825" ] }, "us-gaap_DepreciationAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationAndAmortization", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Depreciation and amortization", "label": "Depreciation, Depletion and Amortization, Nonproduction", "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production." } } }, "auth_ref": [ "r8", "r35" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Line Items]", "label": "Disaggregation of Revenue [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r306", "r674", "r675", "r676", "r677", "r678", "r679", "r680" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue [Table]", "label": "Disaggregation of Revenue [Table]", "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r306", "r674", "r675", "r676", "r677", "r678", "r679", "r680" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.gdyn.com/role/RevenuesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Disaggregation of Revenue", "label": "Disaggregation of Revenue [Table Text Block]", "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor." } } }, "auth_ref": [ "r884" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "presentation": [ "http://www.gdyn.com/role/Stockbasedcompensation" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement [Text Block]", "documentation": "The entire disclosure for share-based payment arrangement." } } }, "auth_ref": [ "r319", "r323", "r354", "r355", "r357", "r687" ] }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement [Abstract]", "label": "Share-Based Payment Arrangement [Abstract]" } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Period Focus", "label": "Document Fiscal Period Focus", "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY." } } }, "auth_ref": [] }, "dei_DocumentFiscalYearFocus": { "xbrltype": "gYearItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Fiscal Year Focus", "label": "Document Fiscal Year Focus", "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006." } } }, "auth_ref": [] }, "dei_DocumentPeriodEndDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Period End Date", "label": "Document Period End Date", "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD." } } }, "auth_ref": [] }, "dei_DocumentQuarterlyReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Quarterly Report", "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r732" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentTransitionReport", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Transition Report", "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r764" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentType", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Document Type", "label": "Document Type", "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'." } } }, "auth_ref": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year", "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]" } } }, "auth_ref": [ "r775" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Loss per share", "label": "Earnings Per Share [Abstract]" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in dollars per share)", "label": "Earnings Per Share, Basic", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r165", "r180", "r181", "r183", "r184", "r185", "r187", "r193", "r195", "r197", "r198", "r199", "r203", "r386", "r393", "r406", "r407", "r511", "r531", "r656" ] }, "gdyn_EarningsPerShareBasicAndDilutedEPSAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "EarningsPerShareBasicAndDilutedEPSAbstract", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Net loss per share", "label": "Earnings Per Share, Basic And Diluted EPS [Abstract]", "documentation": "Earnings Per Share, Basic And Diluted EPS" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in dollars per share)", "label": "Earnings Per Share, Diluted", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r165", "r180", "r181", "r183", "r184", "r185", "r187", "r195", "r197", "r198", "r199", "r203", "r386", "r393", "r406", "r407", "r511", "r531", "r656" ] }, "us-gaap_EarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareTextBlock", "presentation": [ "http://www.gdyn.com/role/Earningspershare" ], "lang": { "en-us": { "role": { "terseLabel": "Earnings per share", "label": "Earnings Per Share [Text Block]", "documentation": "The entire disclosure for earnings per share." } } }, "auth_ref": [ "r192", "r200", "r201", "r202" ] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Effect of exchange rate changes on cash and cash equivalents", "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Continuing Operations", "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r434" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.gdyn.com/role/IncometaxesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Effective tax rate, percentage", "label": "Effective Income Tax Rate Reconciliation, Percent", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r370", "r688" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued compensation and benefits", "label": "Employee-related Liabilities, Current", "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r67" ] }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Period for recognition", "label": "Share-Based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r356" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized compensation expense, excluding options", "label": "Share-Based Payment Arrangement, Nonvested Award, Excluding Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r914" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unrecognized compensation expense, options", "label": "Share-Based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount", "documentation": "Amount of cost to be recognized for option under share-based payment arrangement." } } }, "auth_ref": [ "r914" ] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOptionMember", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "verboseLabel": "Stock options", "terseLabel": "Stock options to purchase common stock", "label": "Employee Stock Option [Member]", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line One", "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine2": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine2", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Address Line Two", "label": "Entity Address, Address Line Two", "documentation": "Address Line 2 such as Street or Suite number" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, City or Town", "label": "Entity Address, City or Town", "documentation": "Name of the City or Town" } } }, "auth_ref": [] }, "dei_EntityAddressPostalZipCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, Postal Zip Code", "label": "Entity Address, Postal Zip Code", "documentation": "Code for the postal or zip code" } } }, "auth_ref": [] }, "dei_EntityAddressStateOrProvince": { "xbrltype": "stateOrProvinceItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Address, State or Province", "label": "Entity Address, State or Province", "documentation": "Name of the state or province." } } }, "auth_ref": [] }, "dei_EntityCentralIndexKey": { "xbrltype": "centralIndexKeyItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Central Index Key", "label": "Entity Central Index Key", "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK." } } }, "auth_ref": [ "r730" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Common Stock, Shares Outstanding", "label": "Entity Common Stock, Shares Outstanding", "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument." } } }, "auth_ref": [] }, "dei_EntityCurrentReportingStatus": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Current Reporting Status", "label": "Entity Current Reporting Status", "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [] }, "dei_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Emerging Growth Company", "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r730" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFileNumber", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity File Number", "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFilerCategory", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Filer Category", "label": "Entity Filer Category", "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure." } } }, "auth_ref": [ "r730" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Incorporation, State or Country Code", "label": "Entity Incorporation, State or Country Code", "documentation": "Two-character EDGAR code representing the state or country of incorporation." } } }, "auth_ref": [] }, "dei_EntityInteractiveDataCurrent": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Interactive Data Current", "label": "Entity Interactive Data Current", "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)." } } }, "auth_ref": [ "r814" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityRegistrantName", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Registrant Name", "label": "Entity Registrant Name", "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC." } } }, "auth_ref": [ "r730" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityShellCompany", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Shell Company", "label": "Entity Shell Company", "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act." } } }, "auth_ref": [ "r730" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitySmallBusiness", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Small Business", "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r730" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Entity Tax Identification Number", "label": "Entity Tax Identification Number", "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS." } } }, "auth_ref": [ "r730" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments, Footnote", "label": "Equity Awards Adjustments, Footnote [Text Block]" } } }, "auth_ref": [ "r769" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table", "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]" } } }, "auth_ref": [ "r810" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Awards Adjustments", "label": "Equity Awards Adjustments [Member]" } } }, "auth_ref": [ "r810" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table", "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]" } } }, "auth_ref": [ "r810" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityComponentDomain", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Component [Domain]", "label": "Equity Component [Domain]", "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc." } } }, "auth_ref": [ "r12", "r141", "r161", "r162", "r163", "r175", "r176", "r177", "r179", "r185", "r188", "r190", "r205", "r233", "r236", "r256", "r294", "r376", "r377", "r383", "r384", "r385", "r387", "r392", "r393", "r398", "r399", "r400", "r401", "r402", "r403", "r405", "r435", "r436", "r437", "r438", "r439", "r440", "r443", "r446", "r462", "r528", "r545", "r546", "r547", "r564", "r619" ] }, "us-gaap_EquitySecuritiesFVNINoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquitySecuritiesFVNINoncurrent", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Marketable equity securities", "label": "Equity Securities, FV-NI, Noncurrent", "documentation": "Amount of investment in equity security measured at fair value with change in fair value recognized in net income (FV-NI), classified as noncurrent." } } }, "auth_ref": [ "r430" ] }, "us-gaap_EquitySecuritiesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquitySecuritiesMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Equity securities", "label": "Equity Securities [Member]", "documentation": "Ownership interest or right to acquire or dispose of ownership interest in corporations and other legal entities for which ownership interest is represented by shares of common or preferred stock, convertible securities, stock rights, or stock warrants." } } }, "auth_ref": [ "r33", "r699", "r724", "r725", "r726", "r978" ] }, "us-gaap_EquitySecuritiesWithoutReadilyDeterminableFairValueAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquitySecuritiesWithoutReadilyDeterminableFairValueAmount", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-marketable equity securities", "label": "Equity Securities without Readily Determinable Fair Value, Amount", "documentation": "Amount of investment in equity security without readily determinable fair value." } } }, "auth_ref": [ "r231" ] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Valuation Assumption Difference, Footnote", "label": "Equity Valuation Assumption Difference, Footnote [Text Block]" } } }, "auth_ref": [ "r779" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneous Compensation Analysis", "label": "Erroneous Compensation Analysis [Text Block]" } } }, "auth_ref": [ "r737", "r747", "r757", "r789" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Erroneously Awarded Compensation Recovery", "label": "Erroneously Awarded Compensation Recovery [Table]" } } }, "auth_ref": [ "r734", "r744", "r754", "r786" ] }, "us-gaap_EstimateOfFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EstimateOfFairValueFairValueDisclosureMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimate of Fair Value Measurement", "label": "Estimate of Fair Value Measurement [Member]", "documentation": "Measured as an estimate of fair value." } } }, "auth_ref": [ "r289", "r432", "r671", "r672" ] }, "gdyn_EstimatedFutureOperatingResultsPeriodSubsequentToAcquisitionDate": { "xbrltype": "durationItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "EstimatedFutureOperatingResultsPeriodSubsequentToAcquisitionDate", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimated future operating results period", "label": "Estimated Future Operating Results Period, Subsequent To Acquisition Date", "documentation": "Estimated Future Operating Results Period, Subsequent To Acquisition Date" } } }, "auth_ref": [] }, "srt_EuropeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "EuropeMember", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Europe", "label": "Europe [Member]" } } }, "auth_ref": [ "r977", "r979", "r980", "r981" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Executive Category:", "label": "Executive Category [Axis]" } } }, "auth_ref": [ "r785" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r409", "r410", "r423", "r689" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value, Recurring and Nonrecurring [Table]", "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r409", "r410", "r423", "r689" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTableTextBlock", "presentation": [ "http://www.gdyn.com/role/FairvalueTables" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurements, Recurring and Nonrecurring", "label": "Fair Value Measurements, Recurring and Nonrecurring [Table Text Block]", "documentation": "Tabular disclosure of financial instrument measured at fair value on recurring or nonrecurring basis. Includes, but is not limited to, instrument classified in shareholders' equity." } } }, "auth_ref": [ "r689", "r919", "r920", "r922" ] }, "us-gaap_FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsMeasuredOnRecurringBasisUnobservableInputReconciliationByAssetClassDomain", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Class [Domain]", "label": "Asset Class [Domain]", "documentation": "Class of asset." } } }, "auth_ref": [ "r414", "r415", "r416", "r417", "r418", "r419", "r424", "r691" ] }, "us-gaap_FairValueByAssetClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByAssetClassAxis", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Asset Class [Axis]", "label": "Asset Class [Axis]", "documentation": "Information by class of asset." } } }, "auth_ref": [ "r414", "r415", "r416", "r417", "r418", "r419", "r424", "r691" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Axis]", "label": "Fair Value Hierarchy and NAV [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r289", "r311", "r312", "r313", "r314", "r315", "r316", "r408", "r410", "r411", "r412", "r413", "r422", "r423", "r425", "r469", "r470", "r471", "r671", "r672", "r681", "r682", "r683", "r689", "r693" ] }, "us-gaap_FairValueByMeasurementBasisAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByMeasurementBasisAxis", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Measurement Basis [Axis]", "label": "Measurement Basis [Axis]", "documentation": "Information by measurement basis." } } }, "auth_ref": [ "r289", "r671", "r672" ] }, "us-gaap_FairValueDisclosureItemAmountsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosureItemAmountsDomain", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Measurement [Domain]", "label": "Fair Value Measurement [Domain]", "documentation": "Measurement basis, for example, but not limited to, reported value, fair value, portion at fair value, portion at other than fair value." } } }, "auth_ref": [ "r289", "r671", "r672" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.gdyn.com/role/Fairvalue" ], "lang": { "en-us": { "role": { "terseLabel": "Fair value", "label": "Fair Value Disclosures [Text Block]", "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information." } } }, "auth_ref": [ "r418", "r420", "r421", "r422", "r425", "r426", "r427", "r428", "r429", "r508", "r689", "r694" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 1", "label": "Fair Value, Inputs, Level 1 [Member]", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r289", "r311", "r316", "r410", "r423", "r469", "r681", "r682", "r683", "r689" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 2", "label": "Fair Value, Inputs, Level 2 [Member]", "documentation": "Inputs other than quoted prices included within level 1 that are observable for an asset or liability, either directly or indirectly, including, but not limited to, quoted prices for similar assets or liabilities in active markets, or quoted prices for identical or similar assets or liabilities in inactive markets." } } }, "auth_ref": [ "r289", "r311", "r316", "r410", "r411", "r423", "r470", "r671", "r672", "r681", "r682", "r683", "r689" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Level 3", "label": "Fair Value, Inputs, Level 3 [Member]", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r289", "r311", "r312", "r313", "r314", "r315", "r316", "r410", "r411", "r412", "r413", "r423", "r471", "r671", "r672", "r681", "r682", "r683", "r689", "r693" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fair Value Hierarchy and NAV [Domain]", "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r289", "r311", "r312", "r313", "r314", "r315", "r316", "r408", "r410", "r411", "r412", "r413", "r422", "r423", "r425", "r469", "r470", "r471", "r671", "r672", "r681", "r682", "r683", "r689", "r693" ] }, "us-gaap_FinancialServiceMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FinancialServiceMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finance", "label": "Financial Service [Member]", "documentation": "Financial assistance, including, but not limited to, management and maintenance of depositor account, credit card, merchant discount, trust, investment and insurance." } } }, "auth_ref": [ "r886" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Useful Life", "verboseLabel": "Estimated Useful Life", "label": "Finite-Lived Intangible Asset, Useful Life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: Accumulated amortization", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r151", "r240", "r249", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Finite-Lived Intangible Asset, Expected Amortization, after Year Five", "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r868", "r982" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "2024 (excluding three months ended March\u00a031, 2024)", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r250", "r649", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Five", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r250", "r649", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r250", "r649", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r250", "r649", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r250", "r649", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets by Major Class [Axis]", "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r243", "r244", "r245", "r246", "r248", "r249", "r251", "r252", "r476", "r477", "r649" ] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails": { "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, gross", "label": "Finite-Lived Intangible Assets, Gross", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r240", "r249", "r477", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets [Line Items]", "label": "Finite-Lived Intangible Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r243", "r249", "r251", "r252", "r254", "r476", "r649", "r670" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]", "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company." } } }, "auth_ref": [ "r243", "r244", "r245", "r246", "r248", "r249", "r251", "r252", "r649" ] }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsNet", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 }, "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetFutureAmortizationExpensesDetail", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net", "label": "Finite-Lived Intangible Assets, Net", "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r476", "r867" ] }, "us-gaap_FixedPriceContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FixedPriceContractMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Fixed-fee", "label": "Fixed-Price Contract [Member]", "documentation": "Contract with customer in which amount of consideration is fixed." } } }, "auth_ref": [ "r677" ] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r741", "r751", "r761", "r793" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount", "label": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r741", "r751", "r761", "r793" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount", "label": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r741", "r751", "r761", "r793" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Forgone Recovery, Explanation of Impracticability", "label": "Forgone Recovery, Explanation of Impracticability [Text Block]" } } }, "auth_ref": [ "r741", "r751", "r761", "r793" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Forgone Recovery, Individual Name" } } }, "auth_ref": [ "r741", "r751", "r761", "r793" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year", "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]" } } }, "auth_ref": [ "r774" ] }, "us-gaap_FurnitureAndFixturesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FurnitureAndFixturesMember", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Furniture and fixtures", "label": "Furniture and Fixtures [Member]", "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases." } } }, "auth_ref": [] }, "country_GB": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "GB", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United Kingdom", "label": "UNITED KINGDOM" } } }, "auth_ref": [] }, "us-gaap_GeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense", "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line." } } }, "auth_ref": [ "r86", "r601" ] }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GeneralAndAdministrativeExpenseMember", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "General and administrative", "label": "General and Administrative Expense [Member]", "documentation": "Primary financial statement caption encompassing general and administrative expense." } } }, "auth_ref": [ "r86" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 }, "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails": { "parentTag": "gdyn_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAssetsAcquiredIncludingGoodwill", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Goodwill", "label": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r150", "r241", "r509", "r663", "r669", "r690", "r698", "r857", "r859" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Goodwill and Intangible Assets Disclosure [Abstract]", "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Adjustment to goodwill", "label": "Goodwill, Measurement Period Adjustment", "documentation": "Amount of increase (decrease) from measurement period adjustment of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r0", "r858" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Gross profit", "label": "Gross Profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r82", "r84", "r123", "r171", "r232", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r433", "r658", "r662", "r842", "r844", "r845", "r846", "r847", "r879" ] }, "us-gaap_HealthCareMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "HealthCareMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Healthcare and Pharma", "label": "Health Care [Member]", "documentation": "Service provided for prevention, maintenance, diagnosis or treatment of physical and mental health." } } }, "auth_ref": [ "r886" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Loss before income taxes", "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r83", "r118", "r123", "r512", "r526", "r658", "r662", "r842", "r844", "r845", "r846", "r847" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Statement [Abstract]", "label": "Income Statement [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationAxis", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Axis]", "label": "Statement of Income Location, Balance [Axis]", "documentation": "Information by location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r257", "r263", "r264", "r415", "r419", "r424", "r542", "r544", "r604", "r649", "r692", "r943" ] }, "us-gaap_IncomeStatementLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementLocationDomain", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Income Statement Location [Domain]", "label": "Statement of Income Location, Balance [Domain]", "documentation": "Location in statement of income where disaggregated amount has been reported." } } }, "auth_ref": [ "r263", "r264", "r415", "r419", "r424", "r542", "r544", "r604", "r649", "r692", "r943" ] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "terseLabel": "Income Tax Disclosure [Abstract]", "label": "Income Tax Disclosure [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.gdyn.com/role/Incometaxes" ], "lang": { "en-us": { "role": { "terseLabel": "Income taxes", "label": "Income Tax Disclosure [Text Block]", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r172", "r366", "r370", "r371", "r372", "r373", "r374", "r375", "r378", "r380", "r381", "r382", "r563", "r688" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/IncometaxesDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Provision for income taxes", "verboseLabel": "Income tax expense (benefit)", "label": "Income Tax Expense (Benefit)", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r129", "r139", "r189", "r190", "r204", "r213", "r221", "r369", "r370", "r379", "r533", "r688" ] }, "us-gaap_IncomeTaxesPaid": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxesPaid", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash paid for income taxes", "label": "Income Taxes Paid", "documentation": "Amount, before refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r23", "r91", "r833", "r915", "r916" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 13.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accounts payable", "label": "Increase (Decrease) in Accounts Payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsReceivable", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Accounts receivable", "label": "Increase (Decrease) in Accounts Receivable", "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued expenses and other current liabilities", "label": "Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities", "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other." } } }, "auth_ref": [ "r831" ] }, "us-gaap_IncreaseDecreaseInAccruedTaxesPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccruedTaxesPayable", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued income taxes", "label": "Increase (Decrease) in Accrued Taxes Payable", "documentation": "The increase (decrease) during the reporting period of all taxes owed but not paid, including income, property and other taxes." } } }, "auth_ref": [ "r831" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Unbilled receivables", "label": "Increase (Decrease) in Contract with Customer, Asset", "documentation": "Amount of increase (decrease) in right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time." } } }, "auth_ref": [ "r831" ] }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Accrued compensation and benefits", "label": "Increase (Decrease) in Employee Related Liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Changes in assets and liabilities:", "label": "Increase (Decrease) in Operating Capital [Abstract]" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingLeaseLiability", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 15.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities", "label": "Increase (Decrease) in Operating Lease Liability", "documentation": "Amount of increase (decrease) in obligation for operating lease." } } }, "auth_ref": [ "r820", "r831" ] }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid expenses and other current assets", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInPrepaidTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInPrepaidTaxes", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Prepaid income taxes", "label": "Increase (Decrease) in Prepaid Taxes", "documentation": "Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods." } } }, "auth_ref": [ "r7" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Individual:", "label": "Individual [Axis]" } } }, "auth_ref": [ "r741", "r751", "r761", "r785", "r793", "r797", "r805" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]" } } }, "auth_ref": [ "r803" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]" } } }, "auth_ref": [ "r733", "r809" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Adopted", "label": "Insider Trading Policies and Procedures Adopted [Flag]" } } }, "auth_ref": [ "r733", "r809" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "terseLabel": "Insider Trading Policies and Procedures Not Adopted", "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]" } } }, "auth_ref": [ "r733", "r809" ] }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.gdyn.com/role/Intangibleassetsnet" ], "lang": { "en-us": { "role": { "terseLabel": "Intangible assets, net", "label": "Intangible Assets Disclosure [Text Block]", "documentation": "The entire disclosure for all or part of the information related to intangible assets." } } }, "auth_ref": [ "r242", "r253", "r255", "r648", "r649" ] }, "us-gaap_InvestmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InvestmentPolicyTextBlock", "presentation": [ "http://www.gdyn.com/role/FairValueMeasuresandDisclosuresPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Investments in equity securities", "label": "Investment, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for investment in financial asset." } } }, "auth_ref": [ "r532", "r558", "r559", "r560", "r561", "r625", "r626" ] }, "us-gaap_LeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCost", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease cost", "label": "Lease, Cost", "documentation": "Amount of lease cost recognized by lessee for lease contract." } } }, "auth_ref": [ "r451", "r697" ] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.gdyn.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Lease Cost and Supplemental Lease Information", "label": "Lease, Cost [Table Text Block]", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r926" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Leasehold improvements", "label": "Leasehold Improvements [Member]", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r100", "r459" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LesseeLeaseDescriptionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeLeaseDescriptionLineItems", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, Lease, Description [Line Items]", "label": "Lessee, Lease, Description [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r450", "r460" ] }, "us-gaap_LesseeLeaseDescriptionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeLeaseDescriptionTable", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lessee, Lease, Description [Table]", "label": "Lessee, Lease, Description [Table]", "documentation": "Disclosure of information about lessee's leases." } } }, "auth_ref": [ "r450", "r460" ] }, "us-gaap_LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLeaseNotYetCommencedTermOfContract1", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease contracts not yet commenced, term", "label": "Lessee, Operating Lease, Lease Not yet Commenced, Term of Contract", "documentation": "Term of lessee's operating lease not yet commenced, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r925" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.gdyn.com/role/LeasesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Operating Lease Maturities", "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r927" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails_1": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "totalLabel": "Total lease payments", "label": "Lessee, Operating Lease, Liability, to be Paid", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r458" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2025", "label": "Lessee, Operating Lease, Liability, to be Paid, Year One", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r458" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Thereafter", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Five", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r458" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2028", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Four", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r458" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2027", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Three", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r458" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2026", "label": "Lessee, Operating Lease, Liability, to be Paid, Year Two", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r458" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "2024 (excluding three months ended March\u00a031, 2024)", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year." } } }, "auth_ref": [ "r927" ] }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Less: imputed interest", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r458" ] }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease, remaining term", "label": "Lessee, Operating Lease, Remaining Lease Term", "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r460", "r924" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.gdyn.com/role/Leases" ], "lang": { "en-us": { "role": { "terseLabel": "Leases", "label": "Lessee, Operating Leases [Text Block]", "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability." } } }, "auth_ref": [ "r445" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LetterOfCreditMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Letter of Credit", "label": "Letter of Credit [Member]", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities", "label": "Liabilities", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r17", "r66", "r67", "r68", "r70", "r71", "r72", "r73", "r171", "r232", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r395", "r396", "r397", "r433", "r577", "r657", "r728", "r879", "r931", "r932" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total liabilities and stockholders\u2019 equity", "label": "Liabilities and Equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r80", "r117", "r522", "r698", "r835", "r853", "r923" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Liabilities and equity", "label": "Liabilities and Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "totalLabel": "Total current liabilities", "label": "Liabilities, Current", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r68", "r146", "r171", "r232", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r395", "r396", "r397", "r433", "r698", "r879", "r931", "r932" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Current liabilities", "label": "Liabilities, Current [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Debt outstanding", "label": "Long-Term Line of Credit", "documentation": "The carrying value as of the balance sheet date of the current and noncurrent portions of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement." } } }, "auth_ref": [ "r17", "r115", "r940" ] }, "gdyn_LineOfCreditFacilityContingentMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "LineOfCreditFacilityContingentMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Contingent maximum borrowing capacity", "label": "Line of Credit Facility, Contingent Maximum Borrowing Capacity", "documentation": "Line of Credit Facility, Contingent Maximum Borrowing Capacity" } } }, "auth_ref": [] }, "us-gaap_LineOfCreditFacilityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityLineItems", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Line Items]", "label": "Line of Credit Facility [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r272", "r834", "r877" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of credit, maximum borrowing capacity", "label": "Line of Credit Facility, Maximum Borrowing Capacity", "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility." } } }, "auth_ref": [ "r65", "r69" ] }, "us-gaap_LineOfCreditFacilityTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityTable", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Line of Credit Facility [Table]", "label": "Line of Credit Facility [Table]", "documentation": "Disclosure of information about short-term and long-term contractual arrangements with lender under which borrowing can occur up to maximum amount. Includes, but is not limited to, letter of credit, standby letter of credit, and revolving credit arrangement." } } }, "auth_ref": [ "r65", "r69", "r272", "r834", "r877" ] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LocalPhoneNumber", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Local Phone Number", "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of long-lived assets, net of accumulated depreciation and amortization", "label": "Long-Lived Assets by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of long-lived assets, excluding financial instruments, long-term customer relationships of a financial institution, mortgage rights, deferred policy acquisition costs, and deferred tax assets, by geographic areas located in the entity's country of domicile and foreign countries in which the entity holds assets." } } }, "auth_ref": [ "r97" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MajorCustomersAxis", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Axis]", "label": "Customer [Axis]" } } }, "auth_ref": [ "r228", "r676", "r709", "r713", "r884", "r942", "r944", "r945", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971" ] }, "us-gaap_ManufacturedProductOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ManufacturedProductOtherMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "CPG/Manufacturing(1)", "label": "Manufactured Product, Other [Member]", "documentation": "Article or substance produced by labor or machinery, classified as other." } } }, "auth_ref": [ "r886" ] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MaximumMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Maximum", "label": "Maximum [Member]" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r318", "r363", "r413", "r474", "r541", "r543", "r555", "r569", "r570", "r623", "r627", "r629", "r630", "r632", "r646", "r647", "r667", "r673", "r686", "r693", "r694", "r695", "r696", "r710", "r881", "r933", "r934", "r935", "r936", "r937", "r938" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Measure:", "label": "Measure [Axis]" } } }, "auth_ref": [ "r777" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Measure Name" } } }, "auth_ref": [ "r777" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MinimumMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Minimum", "label": "Minimum [Member]" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r318", "r363", "r413", "r474", "r541", "r543", "r555", "r569", "r570", "r623", "r627", "r629", "r630", "r632", "r646", "r647", "r667", "r673", "r686", "r693", "r694", "r695", "r710", "r881", "r933", "r934", "r935", "r936", "r937", "r938" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "MNPI Disclosure Timed for Compensation Value", "label": "MNPI Disclosure Timed for Compensation Value [Flag]" } } }, "auth_ref": [ "r796" ] }, "us-gaap_MoneyMarketFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MoneyMarketFundsMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Money market funds", "label": "Money Market Funds [Member]", "documentation": "Fund that invests in short-term money-market instruments, for example, but not limited to, commercial paper, banker's acceptances, repurchase agreements, government securities, certificates of deposit, and other highly liquid securities." } } }, "auth_ref": [ "r887" ] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Material Terms of Trading Arrangement", "label": "Material Terms of Trading Arrangement [Text Block]" } } }, "auth_ref": [ "r804" ] }, "gdyn_MutualMobileIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "MutualMobileIncMember", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Mutual Mobile", "label": "Mutual Mobile Inc. [Member]", "documentation": "Mutual Mobile Inc." } } }, "auth_ref": [] }, "country_NL": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "NL", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Netherlands", "label": "NETHERLANDS" } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Customer [Domain]", "label": "Customer [Domain]" } } }, "auth_ref": [ "r228", "r676", "r709", "r713", "r884", "r942", "r944", "r945", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Named Executive Officers, Footnote", "label": "Named Executive Officers, Footnote [Text Block]" } } }, "auth_ref": [ "r778" ] }, "gdyn_NatureOfBusinessPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "NatureOfBusinessPolicyPolicyTextBlock", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Nature of operations", "label": "Nature Of Business Policy [Policy Text Block]", "documentation": "Description of business and nature of operations" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in financing activities", "label": "Net Cash Provided by (Used in) Financing Activities", "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit." } } }, "auth_ref": [ "r168" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from financing activities", "label": "Net Cash Provided by (Used in) Financing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash used in investing activities", "label": "Net Cash Provided by (Used in) Investing Activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r168" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from investing activities", "label": "Net Cash Provided by (Used in) Investing Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "totalLabel": "Net cash provided by operating activities", "label": "Net Cash Provided by (Used in) Operating Activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r89", "r90", "r92" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Cash flows from operating activities", "label": "Net Cash Provided by (Used in) Operating Activities [Abstract]" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 }, "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net loss", "terseLabel": "Net loss", "verboseLabel": "Net loss", "label": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r85", "r92", "r119", "r144", "r157", "r159", "r163", "r171", "r178", "r180", "r181", "r183", "r184", "r185", "r189", "r190", "r196", "r232", "r273", "r274", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r386", "r393", "r407", "r433", "r527", "r599", "r617", "r618", "r727", "r879" ] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Recently adopted accounting pronouncements and recently issued accounting pronouncements", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "gdyn_NextSphereTechnologiesIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "NextSphereTechnologiesIncMember", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "NextSphere", "label": "NextSphere Technologies Inc [Member]", "documentation": "NextSphere Technologies Inc" } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-GAAP Measure Description", "label": "Non-GAAP Measure Description [Text Block]" } } }, "auth_ref": [ "r777" ] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-NEOs", "label": "Non-NEOs [Member]" } } }, "auth_ref": [ "r741", "r751", "r761", "r785", "r793" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount", "label": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r768" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO Average Total Compensation Amount", "label": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r767" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Non-PEO NEO", "label": "Non-PEO NEO [Member]" } } }, "auth_ref": [ "r785" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted", "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r804" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated", "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r804" ] }, "gdyn_NoncashIncreaseDecreaseInOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "NoncashIncreaseDecreaseInOperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash net change in lease liability due to lease modifications", "label": "Noncash Increase (Decrease) In Operating Lease, Liability", "documentation": "Noncash Increase (Decrease) In Operating Lease, Liability" } } }, "auth_ref": [] }, "gdyn_NoncashIncreaseDecreaseInOperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "NoncashIncreaseDecreaseInOperatingLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-cash net change in lease assets due to lease modifications", "label": "Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset", "documentation": "Noncash Increase (Decrease) In Operating Lease, Right-of-Use Asset" } } }, "auth_ref": [] }, "us-gaap_NoncompeteAgreementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncompeteAgreementsMember", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Non-compete agreements", "label": "Noncompete Agreements [Member]", "documentation": "Agreement in which one party agrees not to pursue a similar trade in competition with another party." } } }, "auth_ref": [ "r49", "r860", "r861", "r862", "r863", "r865", "r867", "r870", "r871" ] }, "us-gaap_NoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncurrentAssets", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Assets", "label": "Long-Lived Assets", "documentation": "Long-lived assets other than financial instruments, long-term customer relationships of a financial institution, mortgage and other servicing rights, deferred policy acquisition costs, and deferred tax assets." } } }, "auth_ref": [ "r227" ] }, "srt_NorthAmericaMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "NorthAmericaMember", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "North America", "label": "North America [Member]" } } }, "auth_ref": [ "r977", "r979", "r980", "r981" ] }, "gdyn_NumberOfMajorCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "NumberOfMajorCustomers", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of major customers", "label": "Number Of Major Customers", "documentation": "Number of major customers." } } }, "auth_ref": [] }, "us-gaap_NumberOfOperatingSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfOperatingSegments", "presentation": [ "http://www.gdyn.com/role/RevenuesNarrativeDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationNarrativeDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Number of reportable segments", "terseLabel": "Number of Operating Segments", "label": "Number of Operating Segments", "documentation": "Number of operating segments. An operating segment is a component of an enterprise: (a) that engages in business activities from which it may earn revenues and incur expenses (including revenues and expenses relating to transactions with other components of the same enterprise), (b) whose operating results are regularly reviewed by the enterprise's chief operating decision maker to make decisions about resources to be allocated to the segment and assess its performance, and (c) for which discrete financial information is available. An operating segment may engage in business activities for which it has yet to earn revenues, for example, start-up operations may be operating segments before earning revenues." } } }, "auth_ref": [ "r663", "r843" ] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of Reportable Segments", "label": "Number of Reportable Segments", "documentation": "Number of segments reported by the entity. A reportable segment is a component of an entity for which there is an accounting requirement to report separate financial information on that component in the entity's financial statements." } } }, "auth_ref": [ "r659", "r666", "r843" ] }, "gdyn_NumeratorForBasicAndDilutedLossPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "NumeratorForBasicAndDilutedLossPerShareAbstract", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Numerator for basic and diluted loss per share", "label": "NumeratorForBasicAndDilutedLossPerShareAbstract" } } }, "auth_ref": [] }, "us-gaap_OperatingExpenses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingExpenses", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Total operating expenses", "label": "Operating Expenses", "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense." } } }, "auth_ref": [] }, "us-gaap_OperatingExpensesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingExpensesAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating expenses", "label": "Operating Expenses [Abstract]" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "totalLabel": "Loss from operations", "label": "Operating Income (Loss)", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r123", "r658", "r842", "r844", "r845", "r846", "r847" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseCost", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease cost", "label": "Operating Lease, Cost", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r452", "r697" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails_1": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesOperatingLeaseMaturitiesDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Total", "label": "Operating Lease, Liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r448" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, current", "label": "Operating Lease, Liability, Current", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r448" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease liabilities, noncurrent", "label": "Operating Lease, Liability, Noncurrent", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r448" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease liability payments", "label": "Operating Lease, Payments", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r449", "r454" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets, net", "label": "Operating Lease, Right-of-Use Asset", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r447" ] }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease right-of-use assets amortization expense", "label": "Operating Lease, Right-of-Use Asset, Periodic Reduction", "documentation": "Amount of periodic reduction over lease term of carrying amount of right-of-use asset from operating lease." } } }, "auth_ref": [ "r832" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average discount rate", "label": "Operating Lease, Weighted Average Discount Rate, Percent", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r457", "r697" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average remaining lease term, in years", "label": "Operating Lease, Weighted Average Remaining Lease Term", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r456", "r697" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.gdyn.com/role/Natureofoperationsandsummaryofsignificantaccountingpolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Nature of operations and summary of significant accounting policies", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]", "documentation": "The entire disclosure for the organization, consolidation and basis of presentation of financial statements disclosure, and significant accounting policies of the reporting entity. May be provided in more than one note to the financial statements, as long as users are provided with an understanding of (1) the significant judgments and assumptions made by an enterprise in determining whether it must consolidate a VIE and/or disclose information about its involvement with a VIE, (2) the nature of restrictions on a consolidated VIE's assets reported by an enterprise in its statement of financial position, including the carrying amounts of such assets, (3) the nature of, and changes in, the risks associated with an enterprise's involvement with the VIE, and (4) how an enterprise's involvement with the VIE affects the enterprise's financial position, financial performance, and cash flows. Describes procedure if disclosures are provided in more than one note to the financial statements." } } }, "auth_ref": [ "r63", "r93", "r94", "r109" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Other noncurrent assets", "label": "Other Assets, Noncurrent", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r152" ] }, "us-gaap_OtherCommitment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherCommitment", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/LeasesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Operating lease commitments", "label": "Other Commitment", "documentation": "Minimum amount of other commitment not otherwise specified in the taxonomy. Excludes commitments explicitly modeled in the taxonomy, including but not limited to, long-term and short-term purchase commitments, recorded and unrecorded purchase obligations, supply commitments, registration payment arrangements, leases, debt, product warranties, guarantees, environmental remediation obligations, and pensions." } } }, "auth_ref": [] }, "us-gaap_OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeForeignCurrencyTransactionAndTranslationAdjustmentNetOfTaxPortionAttributableToParent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Foreign currency translation adjustments, net of tax", "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax, Portion Attributable to Parent", "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature, attributable to parent entity." } } }, "auth_ref": [ "r6", "r11", "r110" ] }, "gdyn_OtherCountriesNotSeparatelyDisclosedMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "OtherCountriesNotSeparatelyDisclosedMember", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Countries Not Separately Disclosed [Member]", "documentation": "Other Countries Not Separately Disclosed" } } }, "auth_ref": [] }, "us-gaap_OtherCurrentLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherCurrentLiabilitiesTableTextBlock", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of accrued expenses and other current liabilities", "label": "Other Current Liabilities [Table Text Block]", "documentation": "Tabular disclosure of other current liabilities." } } }, "auth_ref": [] }, "gdyn_OtherGeographicRegionsNotIndividuallyDisclosedMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "OtherGeographicRegionsNotIndividuallyDisclosedMember", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Other Geographic Regions Not Individually Disclosed [Member]", "documentation": "Other Geographic Regions Not Individually Disclosed" } } }, "auth_ref": [] }, "us-gaap_OtherLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLiabilities", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payable", "label": "Other Liabilities", "documentation": "Amount of liabilities classified as other." } } }, "auth_ref": [ "r114", "r516", "r573", "r574", "r728", "r941", "r973" ] }, "us-gaap_OtherNoncashIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNoncashIncomeExpense", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other (income)/expenses, net", "label": "Other Noncash Income (Expense)", "documentation": "Amount of income (expense) included in net income that results in no cash inflow (outflow), classified as other." } } }, "auth_ref": [ "r92" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Other income/(expense), net", "label": "Other Nonoperating Income (Expense)", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r87" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Other Performance Measure, Amount", "label": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r777" ] }, "gdyn_OtherRevenueMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "OtherRevenueMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other revenues", "label": "Other Revenue [Member]", "documentation": "Other Revenue" } } }, "auth_ref": [] }, "gdyn_OtherShortTermInvestmentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "OtherShortTermInvestmentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term investments", "label": "Other Short-Term Investments, Fair Value Disclosure", "documentation": "Fair value portion of investments other than investments in equity, including, but not limited to, bank time deposits." } } }, "auth_ref": [] }, "us-gaap_OtherSundryLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherSundryLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other liabilities", "label": "Other Sundry Liabilities, Current", "documentation": "Obligations not otherwise itemized or categorized in the footnotes to the financial statements that are due within one year or operating cycle, if longer, from the balance sheet date." } } }, "auth_ref": [ "r37", "r67" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount", "label": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r739", "r749", "r759", "r791" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Compensation Amount", "label": "Outstanding Recovery Compensation Amount" } } }, "auth_ref": [ "r742", "r752", "r762", "r794" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Outstanding Recovery, Individual Name" } } }, "auth_ref": [ "r742", "r752", "r762", "r794" ] }, "country_PL": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "PL", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Poland", "label": "POLAND" } } }, "auth_ref": [] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]" } } }, "auth_ref": [ "r766" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Payables and Accruals [Abstract]", "label": "Payables and Accruals [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PaymentsForProceedsFromOtherInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsForProceedsFromOtherInvestingActivities", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Other investing activities, net", "label": "Payments for (Proceeds from) Other Investing Activities", "documentation": "Amount of cash (inflow) outflow from investing activities classified as other." } } }, "auth_ref": [ "r815", "r830" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Payments of tax obligations resulted from net share settlement of vested stock awards", "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r167" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Payments to acquire business", "label": "Payments to Acquire Businesses, Gross", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r21", "r390" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "negatedLabel": "Purchase of property and equipment", "label": "Payments to Acquire Property, Plant, and Equipment", "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets." } } }, "auth_ref": [ "r88" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Issuers, Footnote", "label": "Peer Group Issuers, Footnote [Text Block]" } } }, "auth_ref": [ "r776" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Peer Group Total Shareholder Return Amount", "label": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r776" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Actually Paid Compensation Amount", "label": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r768" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO", "label": "PEO [Member]" } } }, "auth_ref": [ "r785" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Name", "label": "PEO Name" } } }, "auth_ref": [ "r778" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "PEO Total Compensation Amount", "label": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r767" ] }, "us-gaap_PerformanceSharesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PerformanceSharesMember", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Performance stock units", "label": "Performance Shares [Member]", "documentation": "Share-based payment arrangement awarded for meeting performance target." } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameAxis", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Axis]", "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameDomain", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Plan Name [Domain]", "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896", "r897", "r898", "r899", "r900", "r901", "r902", "r903", "r904", "r905", "r906", "r907", "r908", "r909", "r910", "r911", "r912", "r913" ] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Adjustments Prior Service Cost", "label": "Pension Adjustments Prior Service Cost [Member]" } } }, "auth_ref": [ "r769" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Adjustments Service Cost", "label": "Pension Adjustments Service Cost [Member]" } } }, "auth_ref": [ "r813" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pension Benefits Adjustments, Footnote", "label": "Pension Benefits Adjustments, Footnote [Text Block]" } } }, "auth_ref": [ "r768" ] }, "us-gaap_PortionAtFairValueFairValueDisclosureMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PortionAtFairValueFairValueDisclosureMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Portion at Fair Value Measurement", "label": "Portion at Fair Value Measurement [Member]", "documentation": "Measured at fair value for financial reporting purposes." } } }, "auth_ref": [ "r431" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid expenses and other current assets", "label": "Prepaid Expense and Other Assets, Current", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r826" ] }, "us-gaap_PrepaidTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidTaxes", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Prepaid income taxes", "label": "Prepaid Taxes", "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r654", "r668", "r856" ] }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PriorPeriodReclassificationAdjustmentDescription", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Prior period reclassifications", "label": "Reclassification, Comparability Adjustment [Policy Text Block]", "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error." } } }, "auth_ref": [ "r824" ] }, "us-gaap_ProceedsFromStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromStockOptionsExercised", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Proceeds from exercises of stock options", "label": "Proceeds from Stock Options Exercised", "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement." } } }, "auth_ref": [ "r5", "r15" ] }, "us-gaap_ProductAndServiceOtherMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProductAndServiceOtherMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Other", "label": "Product and Service, Other [Member]", "documentation": "Article or substance produced by nature, labor or machinery and act of providing assistance, classified as other." } } }, "auth_ref": [ "r886" ] }, "srt_ProductOrServiceAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ProductOrServiceAxis", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Axis]", "label": "Product and Service [Axis]" } } }, "auth_ref": [ "r224", "r475", "r534", "r535", "r536", "r537", "r538", "r539", "r540", "r650", "r674", "r708", "r710", "r711", "r714", "r715", "r875", "r876", "r884", "r942", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971" ] }, "srt_ProductsAndServicesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ProductsAndServicesDomain", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Product and Service [Domain]", "label": "Product and Service [Domain]" } } }, "auth_ref": [ "r224", "r475", "r534", "r535", "r536", "r537", "r538", "r539", "r540", "r650", "r674", "r708", "r710", "r711", "r714", "r715", "r875", "r876", "r884", "r942", "r944", "r945", "r946", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Abstract]", "label": "Property, Plant and Equipment [Abstract]" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Axis]", "label": "Long-Lived Tangible Asset [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r9", "r459" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.gdyn.com/role/Propertyandequipmentnet" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "label": "Property, Plant and Equipment Disclosure [Text Block]", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r99", "r132", "r137", "r138" ] }, "gdyn_PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment, Excluding Capitalized Software Costs", "label": "Property, Plant and Equipment, Excluding Capitalized Software Costs [Member]", "documentation": "Property, Plant and Equipment, Excluding Capitalized Software Costs" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/PropertyandEquipmentnetDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, gross", "label": "Property, Plant and Equipment, Gross", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r100", "r148", "r525" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Line Items]", "label": "Property, Plant and Equipment [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r459" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 }, "http://www.gdyn.com/role/PropertyandEquipmentnetDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Property and equipment, net", "totalLabel": "Property and equipment, net", "label": "Property, Plant and Equipment, Net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r9", "r459", "r513", "r525", "r698" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.gdyn.com/role/PropertyandequipmentnetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of property and equipment", "label": "Property, Plant and Equipment [Table Text Block]", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r9" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Long-Lived Tangible Asset [Domain]", "label": "Long-Lived Tangible Asset [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r100", "r459" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Estimated Useful Life", "label": "Property, Plant and Equipment, Useful Life", "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "us-gaap_ProvisionForDoubtfulAccounts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProvisionForDoubtfulAccounts", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Bad debt expense", "label": "Accounts Receivable, Credit Loss Expense (Reversal)", "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable." } } }, "auth_ref": [ "r166", "r238" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure", "label": "Pay vs Performance Disclosure [Table]" } } }, "auth_ref": [ "r766" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Pay vs Performance Disclosure, Table", "label": "Pay vs Performance [Table Text Block]" } } }, "auth_ref": [ "r766" ] }, "country_RS": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "RS", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Serbia", "label": "SERBIA" } } }, "auth_ref": [] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeAxis", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Axis]", "label": "Statistical Measurement [Axis]" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r310", "r318", "r349", "r350", "r351", "r363", "r413", "r472", "r473", "r474", "r541", "r543", "r555", "r569", "r570", "r623", "r627", "r629", "r630", "r632", "r646", "r647", "r667", "r673", "r686", "r693", "r694", "r695", "r696", "r710", "r718", "r873", "r881", "r921", "r934", "r935", "r936", "r937", "r938" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails", "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails", "http://www.gdyn.com/role/LeasesNarrativeDetails", "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Statistical Measurement [Domain]", "label": "Statistical Measurement [Domain]" } } }, "auth_ref": [ "r267", "r268", "r269", "r270", "r310", "r318", "r349", "r350", "r351", "r363", "r413", "r472", "r473", "r474", "r541", "r543", "r555", "r569", "r570", "r623", "r627", "r629", "r630", "r632", "r646", "r647", "r667", "r673", "r686", "r693", "r694", "r695", "r696", "r710", "r718", "r873", "r881", "r921", "r934", "r935", "r936", "r937", "r938" ] }, "us-gaap_ReclassificationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReclassificationLineItems", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification [Line Items]", "label": "Reclassification [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r143" ] }, "us-gaap_ReclassificationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReclassificationTable", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Reclassification [Table]", "label": "Reclassification [Table]", "documentation": "Disclosure of information about reclassification adjustment affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error." } } }, "auth_ref": [ "r143" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]" } } }, "auth_ref": [ "r734", "r744", "r754", "r786" ] }, "us-gaap_RelatedPartyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyDomain", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails", "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party [Domain]", "label": "Related and Nonrelated Parties [Domain]", "documentation": "Related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest." } } }, "auth_ref": [ "r229", "r317", "r463", "r464", "r517", "r523", "r572", "r573", "r574", "r575", "r576", "r596", "r598", "r622" ] }, "us-gaap_RelatedPartyMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyMember", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails", "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party", "label": "Related Party [Member]", "documentation": "Party related to reporting entity. Includes, but is not limited to, affiliate, entity for which investment is accounted for by equity method, trust for benefit of employees, and principal owner, management, and members of immediate family." } } }, "auth_ref": [ "r173", "r174", "r463", "r464", "r465", "r466", "r517", "r523", "r572", "r573", "r574", "r575", "r576", "r596", "r598", "r622" ] }, "us-gaap_RelatedPartyTransactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionLineItems", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails", "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party Transaction [Line Items]", "label": "Related Party Transaction [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r229", "r602", "r603", "r604" ] }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails", "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Related Party [Axis]", "label": "Related and Nonrelated Parties [Axis]", "documentation": "Information by related and nonrelated parties. Related party includes, but is not limited to, affiliate, other entity for which investment is accounted for under equity method, trust for benefit of employee, principal owner, management, and member of immediate family, and other party that may be prevented from pursuing separate interests because of control, significant influence, or ownership interest." } } }, "auth_ref": [ "r229", "r317", "r463", "r464", "r517", "r523", "r572", "r573", "r574", "r575", "r576", "r596", "r598", "r622", "r930" ] }, "us-gaap_ResearchAndDevelopmentExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ResearchAndDevelopmentExpense", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Engineering, research, and development", "label": "Research and Development Expense", "documentation": "Amount of expense for research and development. Includes, but is not limited to, cost for computer software product to be sold, leased, or otherwise marketed and writeoff of research and development assets acquired in transaction other than business combination or joint venture formation or both. Excludes write-down of intangible asset acquired in business combination or from joint venture formation or both, used in research and development activity." } } }, "auth_ref": [ "r365", "r649", "r662", "r939" ] }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ResearchAndDevelopmentExpenseMember", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Engineering, research, and development", "label": "Research and Development Expense [Member]", "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included." } } }, "auth_ref": [] }, "srt_RestatementAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RestatementAxis", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revision of Prior Period [Axis]", "label": "Revision of Prior Period [Axis]" } } }, "auth_ref": [ "r142", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r182", "r183", "r186", "r187", "r188", "r189", "r190", "r191", "r203", "r234", "r235", "r384", "r385", "r386", "r387", "r392", "r393", "r404", "r405", "r406", "r407", "r442", "r444", "r461", "r462", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r557", "r848" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date:", "label": "Restatement Determination Date [Axis]" } } }, "auth_ref": [ "r735", "r745", "r755", "r787" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement Determination Date", "label": "Restatement Determination Date" } } }, "auth_ref": [ "r736", "r746", "r756", "r788" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restatement does not require Recovery", "label": "Restatement Does Not Require Recovery [Text Block]" } } }, "auth_ref": [ "r743", "r753", "r763", "r795" ] }, "srt_RestatementDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RestatementDomain", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revision of Prior Period [Domain]", "label": "Revision of Prior Period [Domain]" } } }, "auth_ref": [ "r142", "r175", "r176", "r177", "r178", "r179", "r180", "r181", "r182", "r183", "r186", "r187", "r188", "r189", "r190", "r191", "r203", "r234", "r235", "r384", "r385", "r386", "r387", "r392", "r393", "r404", "r405", "r406", "r407", "r442", "r444", "r461", "r462", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r557", "r848" ] }, "us-gaap_RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCashAndCashEquivalentsCashAndCashEquivalentsMember", "presentation": [ "http://www.gdyn.com/role/FairvalueScheduleofFairValueInformationforFinancialAssetsandLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Cash and Cash Equivalents [Domain]", "label": "Cash and Cash Equivalents [Domain]", "documentation": "Type of cash and cash equivalent. Cash is currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r147" ] }, "us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards (in shares)", "label": "Restricted Stock, Shares Issued Net of Shares for Tax Withholdings", "documentation": "Number, after shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation." } } }, "auth_ref": [] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails", "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Restricted stock units", "label": "Restricted Stock Units (RSUs) [Member]", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedStockValueSharesIssuedNetOfTaxWithholdings", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "verboseLabel": "Issuance of shares and payments of tax obligations resulted from net share settlement of vested stock awards", "label": "Restricted Stock, Value, Shares Issued Net of Tax Withholdings", "documentation": "Value, after value of shares used to satisfy grantee's tax withholding obligation for award under share-based payment arrangement, of restricted shares issued. Excludes cash used to satisfy grantee's tax withholding obligation." } } }, "auth_ref": [] }, "us-gaap_RetailMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetailMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Retail", "label": "Retail [Member]", "documentation": "Sale of product directly to consumer." } } }, "auth_ref": [ "r886" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated deficit", "label": "Retained Earnings (Accumulated Deficit)", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r77", "r103", "r521", "r549", "r554", "r562", "r580", "r698" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsMember", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Accumulated deficit", "label": "Retained Earnings [Member]", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r141", "r175", "r176", "r177", "r179", "r185", "r188", "r190", "r233", "r236", "r256", "r376", "r377", "r383", "r384", "r385", "r387", "r392", "r393", "r398", "r400", "r401", "r403", "r405", "r443", "r446", "r545", "r547", "r564", "r975" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails", "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "verboseLabel": "Total Revenues", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r121", "r122", "r204", "r211", "r212", "r217", "r221", "r224", "r226", "r228", "r305", "r306", "r475" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.gdyn.com/role/Revenues" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues", "label": "Revenue from Contract with Customer [Text Block]", "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts." } } }, "auth_ref": [ "r140", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r309" ] }, "us-gaap_RevenueFromExternalCustomersByGeographicAreasTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromExternalCustomersByGeographicAreasTableTextBlock", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of revenues by customer location", "label": "Revenue from External Customers by Geographic Areas [Table Text Block]", "documentation": "Tabular disclosure of revenue from external customers by geographic areas attributed to the entity's country of domicile and to foreign countries from which the entity derives revenue." } } }, "auth_ref": [ "r96" ] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining performance obligations", "label": "Revenue, Remaining Performance Obligation, Amount", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r135" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Expected timing of satisfaction of remaining performance obligation", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r136" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]", "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format." } } }, "auth_ref": [ "r136" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.gdyn.com/role/RevenuesRemainingPerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Percentage of remaining performance obligation expected to be recognized", "label": "Revenue, Remaining Performance Obligation, Percentage", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r816" ] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revenues from External Customers and Long-Lived Assets [Line Items]", "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Revolving Credit Facility", "label": "Revolving Credit Facility [Member]", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/LeasesScheduleofSupplementalLeaseInformationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Lease assets obtained in exchange for liabilities", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r455", "r697" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Adopted", "label": "Rule 10b5-1 Arrangement Adopted [Flag]" } } }, "auth_ref": [ "r804" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Rule 10b5-1 Arrangement Terminated", "label": "Rule 10b5-1 Arrangement Terminated [Flag]" } } }, "auth_ref": [ "r804" ] }, "gdyn_SOFROrAdjustedEURIBORRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "SOFROrAdjustedEURIBORRateMember", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "SOFR Or Adjusted EURIBOR Rate", "label": "SOFR Or Adjusted EURIBOR Rate [Member]", "documentation": "SOFR Or Adjusted EURIBOR Rate" } } }, "auth_ref": [] }, "us-gaap_SalesAndExciseTaxPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesAndExciseTaxPayableCurrent", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesAndOtherLiabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesComponentsofAccruedExpensesandOtherCurrentLiabilitiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Value added tax payable", "label": "Sales and Excise Tax Payable, Current", "documentation": "Carrying value as of the balance sheet date of liabilities incurred through that date and payable for statutory sales and use taxes, including value added tax. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r64" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales", "label": "Revenue Benchmark [Member]", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r228", "r817" ] }, "srt_ScenarioPreviouslyReportedMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ScenarioPreviouslyReportedMember", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "As reported", "label": "Previously Reported [Member]" } } }, "auth_ref": [ "r142", "r175", "r177", "r178", "r179", "r180", "r181", "r190", "r203", "r384", "r386", "r387", "r392", "r393", "r404", "r405", "r406", "r442", "r444", "r545", "r546", "r547", "r548", "r549", "r550", "r551", "r552", "r553", "r554", "r557", "r819", "r821", "r822", "r823", "r839", "r848", "r854", "r855", "r918", "r928", "r929" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofAntidilutiveSecuritiesExcludedfromComputationofEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]", "label": "Antidilutive Security, Excluded EPS Calculation [Table]", "documentation": "Disclosure of information about security that could potentially dilute basic earnings per share (EPS) in future that was not included in calculation of diluted EPS." } } }, "auth_ref": [ "r24" ] }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "presentation": [ "http://www.gdyn.com/role/EarningspershareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "documentation": "Tabular disclosure of securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by antidilutive securities." } } }, "auth_ref": [ "r24" ] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.gdyn.com/role/AcquisitionsAssetsacquiredandliabilitiesassumedDetails", "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails", "http://www.gdyn.com/role/AcquisitionsNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Business Acquisitions, by Acquisition [Table]", "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability." } } }, "auth_ref": [ "r42", "r44", "r388" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.gdyn.com/role/EarningspershareTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Computation of Basic and Diluted Earnings Per Share", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r841" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table]", "documentation": "Disclosure of information about amount recognized for award under share-based payment arrangement. Includes, but is not limited to, amount expensed in statement of income or comprehensive income, amount capitalized in statement of financial position, and corresponding reporting line item in financial statements." } } }, "auth_ref": [ "r39" ] }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of stock-based compensation", "label": "Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Table Text Block]", "documentation": "Tabular disclosure of allocation of amount expensed and capitalized for award under share-based payment arrangement to statement of income or comprehensive income and statement of financial position. Includes, but is not limited to, corresponding line item in financial statement." } } }, "auth_ref": [ "r39" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTextBlock", "presentation": [ "http://www.gdyn.com/role/AcquisitionsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of business acquisition, finite-lived intangibles", "label": "Schedule of Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table Text Block]", "documentation": "Tabular disclosure of finite-lived intangible assets acquired as part of a business combination or through an asset purchase, by major class and in total, including the value of the asset acquired, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period." } } }, "auth_ref": [ "r34" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Finite-Lived Intangible Assets [Table]", "label": "Intangible Asset, Finite-Lived [Table]", "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset." } } }, "auth_ref": [ "r243", "r249", "r251", "r252", "r254", "r476", "r649", "r670" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Intangible assets", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment." } } }, "auth_ref": [ "r670", "r866" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Property, Plant and Equipment [Table]", "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r9", "r459" ] }, "gdyn_ScheduleOfReclassificationsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "ScheduleOfReclassificationsTableTextBlock", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Reclassifications", "label": "Schedule of Reclassifications [Table Text Block]", "documentation": "Schedule of Reclassifications" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.gdyn.com/role/AcquisitionsTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of business acquisition, assets acquired and liabilities assumed", "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r107" ] }, "us-gaap_ScheduleOfRelatedPartyTransactionsByRelatedPartyTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRelatedPartyTransactionsByRelatedPartyTable", "presentation": [ "http://www.gdyn.com/role/AccruedexpensesandothercurrentliabilitiesNarrativeDetails", "http://www.gdyn.com/role/RevenuesRelatedPartiesDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Related Party Transactions, by Related Party [Table]", "label": "Related Party Transaction [Table]", "documentation": "Disclosure of information about related party transaction." } } }, "auth_ref": [ "r61", "r62", "r602", "r603", "r604" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Disclosure of information about revenue from external customer and long-lived asset by geographical area. Long-lived asset excludes financial instrument, customer relationship with financial institution, mortgage and other servicing right, deferred policy acquisition cost, and deferred tax asset." } } }, "auth_ref": [ "r32", "r82" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "label": "Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r320", "r322", "r324", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r348", "r349", "r350", "r351", "r352" ] }, "us-gaap_ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationRestrictedStockUnitsAwardActivityTableTextBlock", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of restricted stock unit activity", "label": "Share-Based Payment Arrangement, Restricted Stock Unit, Activity [Table Text Block]", "documentation": "Tabular disclosure of the number and weighted-average grant date fair value for restricted stock units that were outstanding at the beginning and end of the year, and the number of restricted stock units that were granted, vested, or forfeited during the year." } } }, "auth_ref": [ "r104" ] }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of option activity", "label": "Share-Based Payment Arrangement, Option, Activity [Table Text Block]", "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value." } } }, "auth_ref": [ "r13", "r14", "r104" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of Estimated amortization expense", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r670", "r868" ] }, "us-gaap_SchedulesOfConcentrationOfRiskByRiskFactorTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SchedulesOfConcentrationOfRiskByRiskFactorTextBlock", "presentation": [ "http://www.gdyn.com/role/RevenuesTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedules of Concentration of Risk, by Risk Factor", "label": "Schedules of Concentration of Risk, by Risk Factor [Table Text Block]", "documentation": "Tabular disclosure of the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r25", "r26", "r27", "r28", "r59", "r111" ] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "Security12bTitle", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Title of 12(b) Security", "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r729" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "SecurityExchangeName", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Security Exchange Name", "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r731" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Domain]", "label": "Geographical [Domain]" } } }, "auth_ref": [ "r226", "r227", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r566", "r567", "r568", "r624", "r628", "r631", "r633", "r634", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r651", "r675", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r712", "r718", "r884", "r942", "r944", "r945", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Segment Reporting [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.gdyn.com/role/Segmentandgeographicinformation" ], "lang": { "en-us": { "role": { "terseLabel": "Segment and geographic information", "label": "Segment Reporting Disclosure [Text Block]", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r124", "r204", "r206", "r207", "r208", "r209", "r210", "r214", "r215", "r216", "r219", "r220", "r221", "r222", "r223", "r224", "r225", "r228", "r659", "r660", "r661", "r662", "r664", "r665", "r666" ] }, "us-gaap_SellingAndMarketingExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingAndMarketingExpense", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS": { "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing", "label": "Selling and Marketing Expense", "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services." } } }, "auth_ref": [] }, "us-gaap_SellingAndMarketingExpenseMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SellingAndMarketingExpenseMember", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofemployeestockbasedcompensationrecognizedDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Sales and marketing", "label": "Selling and Marketing Expense [Member]", "documentation": "Primary financial statement caption encompassing selling and marketing expense." } } }, "auth_ref": [ "r86" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation", "label": "Share-Based Payment Arrangement, Noncash Expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r7" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardRequisiteServicePeriod1", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Requisite service period", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Requisite Service Period", "documentation": "Estimated period over which an employee is required to provide service in exchange for the equity-based payment award, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r687" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r341" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Forfeited (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r341" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r339" ] }, "gdyn_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodPeriodPerformanceFactor": { "xbrltype": "percentItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodPeriodPerformanceFactor", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Awards granted, period performance factor percentage", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants In Period, Period Performance Factor", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Grants In Period, Period Performance Factor" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Granted (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r339" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding, beginning balance (in shares)", "periodEndLabel": "Outstanding, ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r336", "r337" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of Shares", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Outstanding, beginning balance (in dollars per share)", "periodEndLabel": "Outstanding, ending balance (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r336", "r337" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Grant Date Fair Value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]" } } }, "auth_ref": [] }, "gdyn_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceFactorAdjustment": { "xbrltype": "sharesItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceFactorAdjustment", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance achievement adjustment (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Factor Adjustment", "documentation": "The net increase/(decrease) in number of grants, other than a stock option plan, due to change in performance achievement factor adjustment" } } }, "auth_ref": [] }, "gdyn_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceFactorAdjustmentPeriodPerformanceFactor": { "xbrltype": "percentItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceFactorAdjustmentPeriodPerformanceFactor", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance achievement adjustment, period performance factor", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Performance Factor Adjustment, Period Performance Factor", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other Than Options, Performance Factor Adjustment, Period Performance Factor" } } }, "auth_ref": [] }, "gdyn_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceFactorAdjustmentWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsPerformanceFactorAdjustmentWeightedAverageGrantDateFairValue", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance achievement adjustment (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Performance Factor Adjustment, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which performance achievement factor was adjusted during the reporting period" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Vested and released (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r340" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Vested and released (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r340" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r320", "r322", "r324", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r348", "r349", "r350", "r351", "r352" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Remaining shares available for grant (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Number of Shares Available for Grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r38" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Intrinsic Value and Weighted Average Contractual Term (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Additional Disclosures [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "negatedTerseLabel": "Options exercised (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Expirations in Period", "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements." } } }, "auth_ref": [ "r335" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "negatedNetLabel": "Options forfeited (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period", "documentation": "The number of shares under options that were cancelled during the reporting period as a result of occurrence of a terminating event specified in contractual agreements pertaining to the stock option plan." } } }, "auth_ref": [ "r334" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options granted (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Grants in Period, Gross", "documentation": "Gross number of share options (or share units) granted during the period." } } }, "auth_ref": [ "r332" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options outstanding, aggregate intrinsic value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Intrinsic Value", "documentation": "Amount by which the current fair value of the underlying stock exceeds the exercise price of options outstanding." } } }, "auth_ref": [ "r38" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Options outstanding, beginning balance (in shares)", "periodEndLabel": "Options outstanding, ending balance (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number", "documentation": "Number of options outstanding, including both vested and non-vested options." } } }, "auth_ref": [ "r328", "r329" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Number of Options", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding [Roll Forward]", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "periodStartLabel": "Options outstanding, beginning balance (in dollars per share)", "periodEndLabel": "Option outstanding, ending balance (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan." } } }, "auth_ref": [ "r328", "r329" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted Average Exercise Price", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price [Abstract]" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAggregateIntrinsicValue", "crdr": "debit", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options vested and exercisable, aggregate intrinsic value", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Aggregate Intrinsic Value", "documentation": "Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r345" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options vested and exercisable (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Number", "documentation": "Number of fully vested and expected to vest exercisable options that may be converted into shares under option plan. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r345" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options vested and exercisable (in dollars per share)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Exercise Price", "documentation": "Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest exercisable or convertible options. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r345" ] }, "gdyn_ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceFactor": { "xbrltype": "percentItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardPerformanceFactor", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Performance factor percentage", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Factor", "documentation": "Share-based Compensation Arrangement by Share-based Payment Award, Performance Factor" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesStockbasedcompensationDetails", "http://www.gdyn.com/role/StockbasedcompensationNarrativeDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Award Type [Domain]", "label": "Award Type [Domain]", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r324", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r333", "r334", "r335", "r336", "r337", "r338", "r339", "r340", "r341", "r342", "r343", "r344", "r345", "r348", "r349", "r350", "r351", "r352" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options exercised (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Exercises in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares." } } }, "auth_ref": [ "r333" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options expired (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired." } } }, "auth_ref": [ "r335" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options forfeited (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Forfeitures in Period, Weighted Average Exercise Price", "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options that were terminated." } } }, "auth_ref": [ "r334" ] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "verboseLabel": "Options granted (in dollars per share)", "label": "Share-Based Compensation Arrangements by Share-Based Payment Award, Options, Grants in Period, Weighted Average Exercise Price", "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options." } } }, "auth_ref": [ "r332" ] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Stock-based compensation expense", "label": "Share-Based Payment Arrangement [Policy Text Block]", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r319", "r327", "r346", "r347", "r348", "r349", "r352", "r358", "r359", "r360", "r361" ] }, "us-gaap_ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationPerformanceSharesAwardUnvestedActivityTableTextBlock", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationTables" ], "lang": { "en-us": { "role": { "terseLabel": "Schedule of performance share activity", "label": "Share-Based Payment Arrangement, Performance Shares, Activity [Table Text Block]", "documentation": "Tabular disclosure of number and weighted-average grant date fair value for nonvested performance shares." } } }, "auth_ref": [ "r16" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options outstanding, weighted average contractual term (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r105" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageRemainingContractualTerm1", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Options vested and exercisable, weighted average contractual term (in years)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Vested and Expected to Vest, Exercisable, Weighted Average Remaining Contractual Term", "documentation": "Weighted average remaining contractual term for fully vested and expected to vest exercisable or convertible options, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur." } } }, "auth_ref": [ "r345" ] }, "us-gaap_SharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesOutstanding", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "periodStartLabel": "Beginning balance (in shares)", "periodEndLabel": "Ending balance (in shares)", "label": "Shares, Outstanding", "documentation": "Number of shares issued which are neither cancelled nor held in the treasury." } } }, "auth_ref": [] }, "us-gaap_ShortTermLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShortTermLeaseCost", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Short-term lease cost", "label": "Short-Term Lease, Cost", "documentation": "Amount of short-term lease cost, excluding expense for lease with term of one month or less." } } }, "auth_ref": [ "r453", "r697" ] }, "us-gaap_SoftwareAndSoftwareDevelopmentCostsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SoftwareAndSoftwareDevelopmentCostsMember", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Software", "label": "Software and Software Development Costs [Member]", "documentation": "Purchased software applications and internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "us-gaap_SoftwareDevelopmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SoftwareDevelopmentMember", "presentation": [ "http://www.gdyn.com/role/PropertyandEquipmentnetDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Capitalized software development costs", "label": "Software Development [Member]", "documentation": "Internally developed software for sale, licensing or long-term internal use." } } }, "auth_ref": [] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Equity Components [Axis]", "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r12", "r75", "r78", "r79", "r141", "r161", "r162", "r163", "r175", "r176", "r177", "r179", "r185", "r188", "r190", "r205", "r233", "r236", "r256", "r294", "r376", "r377", "r383", "r384", "r385", "r387", "r392", "r393", "r398", "r399", "r400", "r401", "r402", "r403", "r405", "r435", "r436", "r437", "r438", "r439", "r440", "r443", "r446", "r462", "r528", "r545", "r546", "r547", "r564", "r619" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPriorperiodreclassificationsDetails", "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Geographical [Axis]", "label": "Geographical [Axis]" } } }, "auth_ref": [ "r226", "r227", "r478", "r479", "r480", "r481", "r482", "r483", "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r495", "r496", "r497", "r498", "r499", "r500", "r501", "r502", "r503", "r504", "r505", "r506", "r507", "r566", "r567", "r568", "r624", "r628", "r631", "r633", "r634", "r637", "r638", "r639", "r640", "r641", "r642", "r643", "r644", "r645", "r651", "r675", "r700", "r701", "r702", "r703", "r704", "r705", "r706", "r707", "r712", "r718", "r884", "r942", "r944", "r945", "r947", "r948", "r949", "r950", "r951", "r952", "r953", "r954", "r955", "r956", "r957", "r958", "r959", "r960", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968", "r969", "r970", "r971" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementLineItems", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Line Items]", "label": "Statement [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r175", "r176", "r177", "r205", "r446", "r475", "r558", "r565", "r571", "r572", "r573", "r574", "r575", "r576", "r579", "r582", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r592", "r593", "r594", "r595", "r596", "r598", "r600", "r601", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r619", "r719" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Cash Flows [Abstract]", "label": "Statement of Cash Flows [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Financial Position [Abstract]", "label": "Statement of Financial Position [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "terseLabel": "Statement of Stockholders' Equity [Abstract]", "label": "Statement of Stockholders' Equity [Abstract]" } } }, "auth_ref": [] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementTable", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Statement [Table]", "label": "Statement [Table]", "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r175", "r176", "r177", "r205", "r229", "r446", "r475", "r558", "r565", "r571", "r572", "r573", "r574", "r575", "r576", "r579", "r582", "r583", "r584", "r585", "r586", "r587", "r588", "r589", "r590", "r592", "r593", "r594", "r595", "r596", "r598", "r600", "r601", "r605", "r606", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r616", "r619", "r719" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Price or TSR Estimation Method", "label": "Stock Price or TSR Estimation Method [Text Block]" } } }, "auth_ref": [ "r738", "r748", "r758", "r790" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Stock Appreciation Rights (SARs)", "label": "Stock Appreciation Rights (SARs) [Member]", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofoptionactivityDetails", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise of stock options (in shares)", "negatedNetLabel": "Options exercised (in shares)", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period", "documentation": "Number of share options (or share units) exercised during the current period." } } }, "auth_ref": [ "r12", "r74", "r75", "r103", "r333" ] }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "crdr": "credit", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "terseLabel": "Exercise of stock options", "label": "Stock Issued During Period, Value, Stock Options Exercised", "documentation": "Value of stock issued as a result of the exercise of stock options." } } }, "auth_ref": [ "r12", "r75", "r78", "r79", "r103" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS", "http://www.gdyn.com/role/UNAUDITEDCONSOLIDATEDSTATEMENTOFSTOCKHOLDERSEQUITY" ], "lang": { "en-us": { "role": { "totalLabel": "Total stockholders\u2019 equity", "periodStartLabel": "Beginning balance", "periodEndLabel": "Ending balance", "label": "Equity, Attributable to Parent", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r75", "r78", "r79", "r98", "r581", "r597", "r620", "r621", "r698", "r728", "r835", "r853", "r923", "r975" ] }, "us-gaap_StockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Stockholders\u2019 equity", "label": "Equity, Attributable to Parent [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsAbstract", "lang": { "en-us": { "role": { "terseLabel": "Subsequent Events [Abstract]", "label": "Subsequent Events [Abstract]" } } }, "auth_ref": [] }, "us-gaap_SubsequentEventsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SubsequentEventsTextBlock", "presentation": [ "http://www.gdyn.com/role/Subsequentevents" ], "lang": { "en-us": { "role": { "terseLabel": "Subsequent events", "label": "Subsequent Events [Text Block]", "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business." } } }, "auth_ref": [ "r467", "r468" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTOFCASHFLOWS" ], "lang": { "en-us": { "role": { "terseLabel": "Supplemental disclosure of cash flow information:", "label": "Supplemental Cash Flow Information [Abstract]" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Tabular List, Table", "label": "Tabular List [Table Text Block]" } } }, "auth_ref": [ "r784" ] }, "gdyn_TechnologyMediaAndTelecomMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "TechnologyMediaAndTelecomMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Technology, Media and Telecom", "label": "Technology, Media, And Telecom [Member]", "documentation": "Technology, Media, And Telecom" } } }, "auth_ref": [] }, "us-gaap_TimeAndMaterialsContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TimeAndMaterialsContractMember", "presentation": [ "http://www.gdyn.com/role/RevenuesDisaggregationofRevenueDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Time-and-material", "label": "Time-and-Materials Contract [Member]", "documentation": "Contract with customer in which amount of consideration is based on time and materials consumed." } } }, "auth_ref": [ "r677" ] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Amount", "label": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r776" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Total Shareholder Return Vs Peer Group", "label": "Total Shareholder Return Vs Peer Group [Text Block]" } } }, "auth_ref": [ "r783" ] }, "us-gaap_TradeAndOtherAccountsReceivablePolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TradeAndOtherAccountsReceivablePolicy", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Allowance for credit losses", "label": "Accounts Receivable [Policy Text Block]", "documentation": "Disclosure of accounting policy for accounts receivable." } } }, "auth_ref": [ "r125", "r126", "r127", "r850", "r851", "r852" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TradeNamesMember", "presentation": [ "http://www.gdyn.com/role/AcquisitionsIntangibleassetsacquiredDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Trade name", "label": "Trade Names [Member]", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r48", "r860", "r861", "r862", "r863", "r864", "r865", "r867", "r869", "r870", "r871" ] }, "us-gaap_TrademarksAndTradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TrademarksAndTradeNamesMember", "presentation": [ "http://www.gdyn.com/role/IntangibleassetsnetSummaryofIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Tradenames", "label": "Trademarks and Trade Names [Member]", "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style, or rights either acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r48", "r860", "r861", "r862", "r863", "r864", "r865", "r867", "r869", "r870", "r871" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangement:", "label": "Trading Arrangement [Axis]" } } }, "auth_ref": [ "r803" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Arrangements, by Individual", "label": "Trading Arrangements, by Individual [Table]" } } }, "auth_ref": [ "r805" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "TradingSymbol", "presentation": [ "http://www.gdyn.com/role/CoverPage" ], "lang": { "en-us": { "role": { "terseLabel": "Trading Symbol", "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Adoption Date", "label": "Trading Arrangement Adoption Date" } } }, "auth_ref": [ "r806" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Arrangement Duration", "label": "Trading Arrangement Duration" } } }, "auth_ref": [ "r807" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Expiration Date", "label": "Trading Arrangement Expiration Date" } } }, "auth_ref": [ "r807" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Name", "label": "Trading Arrangement, Individual Name" } } }, "auth_ref": [ "r805" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Title", "label": "Trading Arrangement, Individual Title" } } }, "auth_ref": [ "r805" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Aggregate Available", "label": "Trading Arrangement, Securities Aggregate Available Amount" } } }, "auth_ref": [ "r808" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "terseLabel": "Termination Date", "label": "Trading Arrangement Termination Date" } } }, "auth_ref": [ "r806" ] }, "country_UA": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "UA", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Ukraine", "label": "UKRAINE" } } }, "auth_ref": [] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2024", "localname": "US", "presentation": [ "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleoflonglivedassetsbyphysicallocationDetails", "http://www.gdyn.com/role/SegmentandgeographicinformationScheduleofrevenuesbycustomerlocationDetails" ], "lang": { "en-us": { "role": { "terseLabel": "United States", "label": "UNITED STATES" } } }, "auth_ref": [] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDBALANCESHEETS" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled receivables", "label": "Unbilled Receivables, Current", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "gdyn_UnbilledReceivablesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "UnbilledReceivablesMember", "presentation": [ "http://www.gdyn.com/role/RevenuesConcentrationRiskDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Unbilled receivable", "label": "Unbilled Receivables [Member]", "documentation": "Unbilled Receivables" } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Underlying Security Market Price Change", "label": "Underlying Security Market Price Change, Percent" } } }, "auth_ref": [ "r802" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UseOfEstimates", "presentation": [ "http://www.gdyn.com/role/NatureofoperationsandsummaryofsignificantaccountingpoliciesPolicies" ], "lang": { "en-us": { "role": { "terseLabel": "Use of estimates", "label": "Use of Estimates, Policy [Policy Text Block]", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r29", "r30", "r31", "r130", "r131", "r133", "r134" ] }, "gdyn_VariableLeaseCostReversal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "VariableLeaseCostReversal", "crdr": "debit", "calculation": { "http://www.gdyn.com/role/LeasesLeaseCostDetails": { "parentTag": "us-gaap_LeaseCost", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.gdyn.com/role/LeasesLeaseCostDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable lease cost", "label": "Variable Lease, Cost (Reversal)", "documentation": "Variable Lease, Cost (Reversal)" } } }, "auth_ref": [] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "VariableRateAxis", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Axis]", "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "VariableRateDomain", "presentation": [ "http://www.gdyn.com/role/DebtNarrativeDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Variable Rate [Domain]", "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year", "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]" } } }, "auth_ref": [ "r772" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Diluted (in shares)", "verboseLabel": "Weighted average number of shares outstanding - diluted (in shares)", "label": "Weighted Average Number of Shares Outstanding, Diluted", "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period." } } }, "auth_ref": [ "r194", "r199" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.gdyn.com/role/EarningspershareScheduleofComputationofBasicandDilutedEarningsPerShareDetails", "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average number of shares outstanding - basic (in shares)", "label": "Weighted Average Number of Shares Outstanding, Basic", "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period." } } }, "auth_ref": [ "r193", "r199" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasicAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasicAbstract", "presentation": [ "http://www.gdyn.com/role/UNAUDITEDCONDENSEDCONSOLIDATEDSTATEMENTSOFLOSSANDCOMPREHENSIVELOSS" ], "lang": { "en-us": { "role": { "terseLabel": "Weighted average shares outstanding", "label": "Weighted Average Number of Shares Outstanding, Basic [Abstract]" } } }, "auth_ref": [] }, "gdyn_Year2024Member": { "xbrltype": "domainItemType", "nsuri": "http://www.gdyn.com/20240331", "localname": "Year2024Member", "presentation": [ "http://www.gdyn.com/role/StockbasedcompensationScheduleofrestrictedstockunitandperformancestockunitactivityDetails" ], "lang": { "en-us": { "role": { "terseLabel": "Year 2024", "label": "Year 2024 [Member]", "documentation": "Year 2024" } } }, "auth_ref": [] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested", "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]" } } }, "auth_ref": [ "r770" ] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-16" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479637/805-30-30-7" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479637/805-30-30-8" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10A", "SubTopic": "10", "Topic": "220", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-10A" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r6": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-20" }, "r7": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r11": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(c)(3)", "SubTopic": "10", "Topic": "810", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1A" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "505", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-2" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2A" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Subparagraph": "(c)", "Paragraph": "2", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22))", "SubTopic": "10", "Topic": "210", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14" }, "r19": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "14A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-14A" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "220", "SubTopic": "10", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-5" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-4" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "260", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r25": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-4" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-8" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-9" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "320", "Publisher": "FASB", "URI": "https://asc.fasb.org/320/tableOfContent" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481573/470-10-45-10" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r40": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-12" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "20", "Section": "55", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481089/718-20-55-13" }, "r42": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r43": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479303/805-10-55-37" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-4A" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r49": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "14", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-14" }, "r50": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "55", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-20" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479668/805-30-25-6" }, "r52": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r53": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Paragraph": "2AA", "Subparagraph": "(a)", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-2AA" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-1" }, "r55": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-4" }, "r56": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-5A" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-11" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-12" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20" }, "r60": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r61": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r62": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "850", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3" }, "r63": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "205", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/205/tableOfContent" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(22)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r73": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(28))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(29))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r76": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r77": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(31))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(32))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-11" }, "r82": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r83": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(10))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r90": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-25" }, "r92": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/235/tableOfContent" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/275/tableOfContent" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 4.E)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480418/310-10-S99-2" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/360/tableOfContent" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/440/tableOfContent" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/470/tableOfContent" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "718", "SubTopic": "10", "Subparagraph": "(e)(1)", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/805/tableOfContent" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-1" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479613/805-30-35-1" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/810/tableOfContent" }, "r110": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-19" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r113": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r114": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479024/942-230-45-1" }, "r121": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r122": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r123": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r124": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r125": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-11B" }, "r126": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-15" }, "r127": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-6" }, "r128": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-7A" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "SubTopic": "20", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482659/740-20-45-2" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-1" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-11" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-12" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-6" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477798/958-360-50-7" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h))", "SubTopic": "10", "Topic": "235", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "105", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479343/105-10-65-6" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "205", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483499/205-20-50-7" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-5" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r151": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r152": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r153": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r154": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r155": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r156": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r157": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r158": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1A" }, "r159": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r160": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482790/220-10-45-1B" }, "r161": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r162": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r163": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r164": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r165": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r166": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r167": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r168": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-24" }, "r169": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r170": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r171": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r172": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r173": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(k)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r174": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(k)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r175": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r177": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r178": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r179": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-1" }, "r180": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-11" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-12" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-4" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r189": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r190": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-9" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/260/tableOfContent" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-10" }, "r194": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-16" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-2" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "60B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-60B" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-7" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r200": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r201": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-2" }, "r202": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-3" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-15" }, "r204": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r205": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "272", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483014/272-10-45-1" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-15" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-21" }, "r210": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r211": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r212": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r213": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r214": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r216": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r218": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r220": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r221": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r222": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r223": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-40" }, "r225": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r226": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r227": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r228": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "42", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-42" }, "r229": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-13" }, "r230": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-4" }, "r231": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "321", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479536/321-10-50-3" }, "r232": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r233": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-5" }, "r237": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479344/326-20-45-1" }, "r238": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-13" }, "r239": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-14" }, "r240": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r241": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482598/350-20-45-1" }, "r242": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-30/tableOfContent" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r244": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r245": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r246": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r247": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r248": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r250": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r252": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r253": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r254": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r255": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-4" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-3" }, "r258": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r259": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r260": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r261": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r262": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r263": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r264": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "420", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482017/420-10-50-1" }, "r265": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r266": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "440", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482648/440-10-50-4" }, "r267": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-4" }, "r268": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r275": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r276": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1B", "Subparagraph": "(SX 210.13-02(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1B" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r283": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1C" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1D", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1D" }, "r290": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1E", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1E" }, "r291": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r292": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1I" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.3-04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480008/505-10-S99-1" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-2" }, "r297": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-10" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r300": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r301": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r302": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12" }, "r303": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r304": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-15" }, "r305": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-4" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r307": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r308": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-8" }, "r309": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-9" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r311": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(A)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r314": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r316": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r317": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r318": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r319": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/718/tableOfContent" }, "r320": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1D", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-1D" }, "r321": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-2" }, "r322": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480483/718-10-35-3" }, "r323": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r324": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r325": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r326": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r328": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r329": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r331": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r332": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r333": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r334": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r335": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r337": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r338": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r352": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r353": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r354": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r355": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r356": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r357": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r358": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r359": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r360": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r361": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479830/718-10-S99-1" }, "r363": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r364": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1" }, "r365": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "730", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482916/730-10-50-1" }, "r366": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r367": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-4" }, "r368": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482525/740-10-45-6" }, "r369": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-10" }, "r370": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12" }, "r371": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r372": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r373": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-14" }, "r374": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-17" }, "r375": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-21" }, "r376": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r377": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482615/740-10-65-8" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.5.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r380": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SAB Topic 11.C)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-2" }, "r381": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477891/740-270-50-1" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482603/740-30-50-2" }, "r383": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r384": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r385": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r386": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r387": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r388": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r389": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r390": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r391": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479581/805-30-50-1" }, "r392": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r393": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r394": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r395": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481231/810-10-45-25" }, "r396": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r397": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "810", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481203/810-10-50-3" }, "r398": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r399": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r400": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r401": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r402": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(h)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r403": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "6", "Subparagraph": "(i)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480528/815-20-65-6" }, "r404": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r405": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r406": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r407": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r408": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-1A" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482736/825-10-45-2" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-10" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477401/830-230-45-1" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-17" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r438": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r439": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "20", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481694/830-30-45-20" }, "r440": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481674/830-30-50-1" }, "r441": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r442": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "5", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-5" }, "r443": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/842-20/tableOfContent" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-5" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-1" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-2" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/855/tableOfContent" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-2" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(bb)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "910", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482546/910-10-50-6" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "924", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 11.L)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479941/924-10-S99-1" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "926", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483154/926-20-50-5" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478859/928-340-50-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r499": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r500": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r501": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6" }, "r502": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r504": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r505": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "280", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1" }, "r507": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1" }, "r508": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "940", "SubTopic": "820", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478524/942-220-S99-1" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477314/942-235-S99-1" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-17(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-2" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4E" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-9" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r546": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r548": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r549": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r550": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480016/944-40-65-2" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r556": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480424/946-10-50-3" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(f)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(f)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-03(f)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479886/946-10-S99-3" }, "r562": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-11" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480990/946-20-50-13" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r565": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477796/946-210-45-4" }, "r566": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r567": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2" }, "r568": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r573": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r575": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r578": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r583": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r584": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r585": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r586": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r587": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r588": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r589": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r590": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r592": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r593": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r594": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r595": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r596": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r597": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r598": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-3" }, "r599": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479105/946-220-45-7" }, "r600": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r601": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r602": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r603": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(c)(2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(g)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r605": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r606": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r607": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r608": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r612": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r614": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r615": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r616": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r617": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-1" }, "r618": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r619": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r620": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r621": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r622": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r623": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r624": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r625": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "12", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-12" }, "r626": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "19", "Subparagraph": "(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-19" }, "r627": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r628": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r631": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r634": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478522/954-440-50-1" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r639": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r640": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r641": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r642": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r643": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r644": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477332/976-310-50-1" }, "r647": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479230/978-310-50-1" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/985-20/tableOfContent" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r650": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(a)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r651": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r652": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "38", "Subparagraph": "(b)", "SubTopic": "20", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479876/805-20-55-38" }, "r653": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483467/210-10-45-1" }, "r655": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483426/235-10-50-4" }, "r656": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "52", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482635/260-10-55-52" }, "r657": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r658": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-31" }, "r659": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r660": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r661": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r662": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r663": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r664": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r665": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r666": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r667": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481933/310-10-55-12A" }, "r668": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "05", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482955/340-10-05-5" }, "r669": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482548/350-20-55-24" }, "r670": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r671": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69B" }, "r672": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "69C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481568/470-20-55-69C" }, "r673": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r674": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r675": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r676": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r677": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r678": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r679": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r680": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r681": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r683": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480482/715-20-55-17" }, "r684": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-11" }, "r685": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-6" }, "r686": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480547/715-80-55-8" }, "r687": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r688": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r689": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r690": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r691": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "101", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-101" }, "r692": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "102", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-102" }, "r693": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r694": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r695": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r696": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r697": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53" }, "r698": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481372/852-10-55-10" }, "r699": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481395/860-30-55-4" }, "r700": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17" }, "r701": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21" }, "r702": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29" }, "r703": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3" }, "r704": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2" }, "r705": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4" }, "r706": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5" }, "r707": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6" }, "r708": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479401/944-30-55-2" }, "r709": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r710": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "29F", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-29F" }, "r711": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r712": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r713": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r714": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9E" }, "r715": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480078/944-80-55-18" }, "r716": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r718": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477439/946-210-55-1" }, "r719": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477802/946-310-45-1" }, "r720": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r721": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r722": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r723": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r724": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7" }, "r725": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7" }, "r726": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "7", "Subparagraph": "(SX 210.12-15(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-7" }, "r727": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-10" }, "r728": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479168/946-830-55-12" }, "r729": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r730": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r731": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r732": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r733": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r734": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r735": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r736": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r737": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r738": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r739": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r740": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r741": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r742": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r743": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r744": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r745": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r746": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r747": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r748": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r749": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r750": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r751": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r752": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r753": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r754": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r755": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r756": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r757": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r758": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Section": "13", "Subsection": "a-1" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r768": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r769": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r770": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r771": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r772": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r773": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r778": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r779": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r794": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "A" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "C" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "D" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "E" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2", "Subparagraph": "ii", "Sentence": "F" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r815": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "12", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-12" }, "r816": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-13" }, "r817": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r818": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r819": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-3" }, "r820": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "SubTopic": "20", "Topic": "842", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r821": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r822": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-7" }, "r823": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "SubTopic": "10", "Topic": "250", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-8" }, "r824": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1" }, "r825": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(20))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r826": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r827": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-4" }, "r828": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-5" }, "r829": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482765/220-10-50-6" }, "r830": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r831": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r832": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-28" }, "r833": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r834": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(f))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r835": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r836": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-23" }, "r837": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "24", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-24" }, "r838": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483421/250-10-45-5" }, "r839": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-12" }, "r840": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r841": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482662/260-10-50-1" }, "r842": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r843": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-18" }, "r844": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-22" }, "r845": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r846": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r847": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r848": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "34", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-34" }, "r849": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481990/310-10-45-2" }, "r850": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r851": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481962/310-10-50-2" }, "r852": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481569/310-20-50-1" }, "r853": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "323", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481687/323-10-50-3" }, "r854": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "326", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "4", "Subparagraph": "(e)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479654/326-10-65-4" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "340", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483032/340-10-45-1" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r858": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482573/350-20-50-1" }, "r860": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r861": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r862": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r865": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r866": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r867": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r868": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r869": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r870": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r871": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r872": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/405-30/tableOfContent" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "410", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481931/410-30-50-10" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r875": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-9" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r877": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1A", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-1" }, "r883": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479837/606-10-45-3" }, "r884": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-5" }, "r885": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "27", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-27" }, "r886": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "91", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479777/606-10-55-91" }, "r887": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480506/715-20-50-1" }, "r888": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r889": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r890": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r891": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r892": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r893": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r894": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r895": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r896": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(04)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(02)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(iv)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)(v)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r914": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r916": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r917": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(e)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r918": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480175/815-40-65-1" }, "r919": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r921": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r923": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "28", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-28" }, "r924": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r925": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r926": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r927": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-6" }, "r928": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(01)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r929": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "848", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(a)(3)(iii)(03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483550/848-10-65-2" }, "r930": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483326/850-10-50-3" }, "r931": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r932": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481404/852-10-50-7" }, "r933": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r934": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r935": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-3" }, "r936": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r937": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "860", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "912", "SubTopic": "730", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479532/912-730-25-1" }, "r940": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479432/944-30-50-2B" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r946": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r947": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r948": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r949": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r952": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r953": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r955": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478009/946-205-45-4" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r976": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/946-220-S99-3" }, "r977": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(ii))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r978": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r979": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r980": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r981": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r982": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" } } } ZIP 89 0001628280-24-020035-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001628280-24-020035-xbrl.zip M4$L#!!0 ( !B$HECS)CUTF+H! .K/$@ 1 9V1Y;BTR,#(T,#,S,2YH M=&WLO6MWXDB2,/Q]?X5>>G:GZAR@D+B[NGD.Y4NUGZVR/<8UL_U\V9-(B5&7 MD&A=;#.__HW(E(0 86X"4I![=JJQ+JG,N&5$9%Q^_3]O(TMYH:YG.O9O?U?+ ME;\KU-8=P[2??_M[MW=Y>_OW_]/YCU__OU+I?[X\?E.N'#T84=M7+EU*?&HH MKZ8_5/PA5?[EN#_-%Z(\6,0?..ZH5.*O73KCB6L^#WU%JVBUZ+'HKGO1:N@U MW6CJ):HU::E6K39*+;VNE=IZG^CU9K^ODV;Q^:+>JFM4J]=+C4%S4*JUJ^U2 MO]ZOEEIJGZJMOM[4&^VB<:'5&EI[T&K6:EJEUAJTB*8.!KJF-JM]M:KJE'UW MZ,.:8=VV=_'6=RW#_*TP]/WQQ:=/^&?9<9\_:95*XQ._64@\.GWR]?6UG'RZ M^LFT/9_8.HV?MTS[Y\SSKU7VM-INMS^QN]&CGNO'#PZ(UV>/P<5/"++H(=T) M;-^=S,[5HWKYV7GY%-Z<>>'9F-@SW\<+9=T9L:"3]_\3XPV/G7^ MXS_^XU??]"W:0?(J1:3UZR=^\==/?.B^8TPZOQKFB^+Y$XO^5C!,;VR1R87M MV!0F8+Y=X(/4Y3]-PZ V^PGW[T#DN*;.O__F/]+!;P6]!+"SR0A'HN;%9>"Z M,+4;T].)]0=XW&:A,R"61[V0=_^FT[G MW2IT*L!4S5JUJ=6W_T@DTZ? NX$K7OR9=J,WJ P_PN&/,?*):*73^L0S\ M-R[1D8*5P#;Y\!Y]QN$*<]^L%Q2#ZN8(0/Y;X?;N)II"*$ N8-P^=>\'CW3L MN#[I6[3'!X)YX,3@T4HTHWH%IA3/*)K"QE-2,YV2NM&4;#;VPHQJ[15S>J0O MU [H(PAITP8U /#%> AD]7W?,I^9.(&+.DR3/--XHB5M.E.MT*E7RM6=)UNO M'&"RU4*GUBXWETUV"8$C'+>8R_7;F.J@.#V9(WCD?M"#J]Z ?Y%SACHCLW!W MN3 "ETFMZ9QKA4Y[,X9$4!YPOA,0(]/IUA.4NRU[K\M+]V/JPB3MY^6LU&AF MPMWK"IRU9K09E'PF]Z3N"ROYBAU_SV[U\R]WHDNSHX\9@T9_@;[M M^J@4L>V\5%'A_Z/WIO?B:1J)1ZM,.YJ]$_T=?>33S+K3P: ) 9N>/CARFJ@ MW\0#A7?66QD2/EN6-R2 _7AE(TJ\P*6=$+#L9C1$="_Z&\=(AU15.$@E:6!+ M2 7 /O-@"@VUBQ^]J\VA5!,+2M52:$?L"B7867M(./'RP'"":24?9=LH\1UW M2X NO(\7KZCMP#Z?-NRZY#PSQ*?9V:_$9UT ?,Z(R>KZ8K*:G9AL[!L,X6KX M1LO_-.!C;V/+U$W_.\4M63%,N,O\@O%FW?-A2?C.]5\!&J;.: SF.^S5W3<3 M)&#T&%P'?;7G._I//M:OGU(_$4,CGLD!^6T6Y,V<@[QK&"8J0V!?$].XM2_) MV/2)E1?PMW(._D?J@Q%%C6OBHBGEY07N[9S#O:OKP2BP\"CBWA]2%Y]SZ1!' M>Z&WMNZ,:%Y0H59RCHO]\X %HRZ=TON5#8*$9"U=WLSSXJ4" C:NYE[BON/ M"(C;N^6=9\[*RG$R!_.]6\>GLO7L"?YY-\L/:J1D"?C<&^='ME*RQ$7>+?5# M"7XM0\LP]U;Z$01_AO#7I&5^),#GWM@^LN#/$A>"G=UFN;2\6Z$']KP=YU!, MR[O)>1S/VY&0E7=;]7">MR,A*._&[/$];T="7-Z-X<,%!V1F]&IY-WJ/$QV0 M'?SS;@ ?.#P@,\!7\V[Y'ML RQ(7(L00[VEIPI[3=E^):V#VVSP_>[YK8EX$ MV\=^V*;O/?9^G.117U58ZW@)ZS/&" 4S1PI>[.G4 M)K"R!Y>^F$[@61.>[$&-%9A9ZY/Q3O"5.L\N&0]-G5C3C]_!AX9=EG)$3M(@ MJ IG:DNL %:$LZ_7P,IUX#KC50K1$>1 3DE .$L]*Q+(*3Z$L^)7X -S#R^8 MV3*]]TB?X57OSO%O;996$Q#+FER9GFXY7C8;JN1=H!7A/ X'IY5\(JXFG,=" MLE2(&6$/\[\$GFE3S^OJ?P6FQQRE"::Z@R7TQL!8](GJ0]NQG&>3>K>VOF_' M4:VDMK;SKL2II&%9C>CZ;"[G&'Y& VR0A.S":L MT^9]+'T/?-BDOCM]TZ+[9C$60:)5=V0Q.AI;SH32!29CZXGN;L%GPOEW!,'@ M#'?-X? ][II[="?N$L[E(KH,5"MK*QPS85T[84DX%XR(''0DW CG&]DO!ZW] M^1L3=@3ZS7RAQJT-^]&SV;=HU_.H[WV9?"=_.NZE1;SYD(K \YT1=1^IQ8IV M>4-SG)OLCIIP;IF#XR(O@F-/!""BJ OG MQSDB5LY;/M3/S'&T7TI\\)_3CU.F[&;Q/HL(.A8HSW_^EM^U(@)<.M(."6UB?V TQW7\2*Z @ MU?@!!@[PA7CFO)E#7'=BVL_1079WA'UIXM?#T -X/[/-<#HS)G=3Y.UWQZ8@ MC-V?U+\);",_VYZX?K%UR>':\\T1\>G]('Y%TL)6M""LB^QL:&&;3\<_?P<8 M$U![['GE#S0I@-<=UTDC#W0)A:;@A36*>A),Q]$&8U M-X0IK#N*9OYB>8 MH2%]^9(6(EJ0OOS3UO+S2IA-ZC8-O6%F0C#G*%=2*>#PJ$]=V)C8(,]Z^V<%XJ MP6RN;Y1X=.A8QNUH[#HO^:K;UQ;.U2/8!I9O[ KG+SE#' CGV<@)#K+Z!#6ZY$; M=&2ZWPGKW3A"OWF!N$18CT?NT)(IMPCG!=D)+7GNCJVJPKDJ\H6+3/E"6'\" MLT*I\4!!)WX6ZAE!7Z]E 73A#?AVH?Z,^Z$/W _Y,?H MK#'] M3^*:!/;91Y ;\[UT/'9U5R_*(5-K 46N?P633D'@]%Z,"6/)H]&=[7 MG*6^ M?P_9SE245UP+ZP98Q @+/.G=WSS>NUWCS\ #/>'ZQ^/ME_M'R>5;8%XX3\,Q MN'PGFLHKYH5U9BS!SQ4QK4G/'(TMBJCJW=_==N_=7O?Q_DYR_8:X%\YY#PO"Y[]2Y]DEXZ&I$VM*"W>.ZP^[(UBG3O:,EEJIHL+_ MKX.6.>_!;F@1SH&S!EJN PR /$V$5(5SYZQ "!-G]_Z0NM-[C_09?6UWCG]K M&^:+:03$LB9AN4YJG"CFA',)(>8>7,<(=!_V%NJ^F#J==\/YL!&=*#Z$\QH) M@H_J^OBH9HD/(3T[Z?A@0NV)ZD/;L9SGR7=JF 1#+:A%=6??VOFQ^$4X;XR@ M^#D6_PCI,WE?GMV8-K%UDUCAW1/E'.%\&L)AYE@\(Z3'X7W,?"=V," ZUA8T MHB=1O3Y1WA'2+R DAH[%0T*Z"-['T.^46/[PDJSL#)%3KJD)Z240!"='XI-: M#NW_\"Y61^*W3WBGJ>70'W 4_!R+?X3S#TP#R6W?A?W^7R;(KS#1D+4JNA\\ MN/"J_3R7G@%# ,J^ RA+LQWU 1!_%X MXIPFG)\A-Q@[%H\)YW_8%&/3X[U'^D+MX%0-*N'<$*(CZE@<=21OA#\91P?7 MZ>DF#.:/=$1,&W#R0-V!XXZ(#2I[WS*?65&*Z[G#5&_#$ ME%X$/X[-7_VH,?_O]4DQ_"0"*E#Y3/Y(GY>3HJ1[)@S.G)^&\ M0(F-1*>XER!L'TWO9VIWOG"'67@XJWC(E%E\H;8^Q&H&:WKG3EAG89D@!(?QB(ACQ7O"<^J.[T2C1S>AO'&8978GLDY1T M=9CB!'61'9PKP,\8X(?=-RV+&E/8[]RI]R!D*) V+K+'5)+ 0:2 L"Y8\4J4 M"&&I".N)%1Q?AU+A8^TMG&FZ\A;>W$9W$S+>+-_M[=6&D %C6Z7>"@1487U] MMUC6C<99>]\$Q8)\A:&.M1R\(0!XS*LKM:E++$!7UQB!1>,Q!\\+/6T6$];!D .<'8O/ MA/,)Q!D:%K&Q^4+"9]O5*FJKYSOZ3[R9&T=I4S@7P1%A+(*@:@KK7C@NT6?I MPFD*ZR)(A[%6P6:?_N26'<> V,\7M(4U^$6!=J8"75AC_:C0%D*T"VN59X>: MM3_9?26NL7CT?#T:6\Z$4K:IW(]1$SY18A#6YE^"F4<*1H>)8=L,-S]LT_<> M>S_R(QB%M=H% GBF^[ZP)O<2@"=R%7I#XN:HM5Y36$M9"%!G2=4M80UF!NII M\@_;Q?^@Q$4 G.8>VA+65N[""(9I!:@U]:@>N*9O4N_Z3;<"@QHWKC/B?0J9 MJ^]^<$U<3);R@"T8.WR9I ]PIKI22UA[_43Q?"2';TM83\%!\'PPA4\(GA;6 M3W'"N#X67POK^#@(K@^@[ K!T>)Z-$X1R\?B9>'<*"M:5;!,-G=R\:-W<@PG MG(/E^*@X%E<(YX!9$Q5?OYP:5[2%<] <'Q5'XHJV\T_E76S@K_]C0S?(@MRVMZWW2KC28]TF[>;6!?W3%IUVMDE>S=F_0S9!V MM4I>+=6'3,VC?=%N7HW/O4$W4]J5]N31"5R:B ?D@D_FVX5+/2=P=>KQ/X>4 M&&P^AOG2^17^89@QM5I#:P]:S5H-4-0:M(BF#@:ZIC:K?;6JZO1_4>Q/W_'\ MB048&IEV:4C-YZ%_4=/*S?K8__QJ&O[P0JU4_K/ 'NW\ZHV)';V@.Y;C7OP" M&*P,!I\',,_2@(Q,:W+Q=^PNXREW]%5Y=$;$_GO1([97\F!EX8.>^6\* \,W MV)^OX7!&B%E$#W&? 4.^,[X U,#:?39(>+?O MN#"3$H#!(F./7D0_/ANF-[;(!*B,+8:]]#DO+'X^W3[?7/:5[=Z5<_\_E[]V[K]?*Y?WW[[>]WNW]G?!+^%>W]_OM MW=>G^[NB^"$0RB*^$N\H@R"HS6 M@F(3W)4-:EY<.7J VQB&JQ?8!C* !SIJI?0/MLE,1^GD#A0?L#2'/3\K#C\?>C^[=D_)TKX @>0)I MH:A5Y?Y14>L?C(_*_8WR]/NUDI QL7SI7C[A;;5=K>6./&\<5P%M5/DKPJ?" ME3^%@EYA;,'##^SU:WZ.,$L6!EPIC6"((;Y6,LBD-*'$+5$[(A,PJ+YCQ:C_ M^D5M5#Y7U:*"]D+N9<#]XR&F?#19P*JSFJQ4\5)A,""6%TL#,-H0PZW/RS"[ M7R2EK_NHXNCIL7O7NV5"1\HCE$=^3%.10!JXSNB(.'K/".3BZO#_'I-B%=\Y M V[=U!UP;$K(#9]?.J.1Z:'+3+DQP7"&':!/W8L-%(YKYNK"E_F[T>921X^> M6JJV&JUZ[C6'3<'Q2)]9B3+;QZH2$4@:A\KMC,4VAJ-S: M>GEM*!T>*NG,_^'ZC>B^@DM$%]9TT0KQE-Z8ZNB[-1335DS?4RZ'3+5=;G_E MTJ]5:Y8KC?:[?JUUA]+*]<;['K)-)M5,?V7.V;;,LQ8YSK3Q&[K.%AEQ'IX< ME(=GS\HV[(DE!]UQN&^P4P)^"C"Y=(Q98PEFI&/@ED_'KO."XTRMI&:ATBIT6M52I5'5FN^8GPCC%>0< M"@^VKXQ]Q7,L$,/S3N*U00S#'%[B,OA^8,2J@'+NX-F5\F?@FIYALHXEJ M6_&(YDD6T-9B+WRET.D%)K!^7:OD3D_<$A"7\//>?7)>XQU750$,,/]',@)Y M)Q:A;;=&)L_OW0=0+D!N3T]=-##-NHN>^NT^\N" !F/]/W/,U9OP$]5"IUVK MMZJY(Z6IC8_>XI/+3K& M=2HV6V@1U28K0)U% 7V> )",=XX*1:6@:6Z^XK)%4Q<,\''@>@&:Y;ZCP!-, MHU&U#_V/R$'HY>WJ_H7 9GFSTMS4+*_6R^UV(S.SO)[)2"J8Y:WWS?+#3ZK: M*&OMZOGX"IY,GT=<4:(/%=TBGG>NUOJ32YC ZTU&?/A.IW0FN/<(@J.=[&X!'%@+NP3>.C8Y?JE&W: MJJ:P&"Y/^0#C ;85+X"]RALZ>,H616OX0^+/K^*5S$X5Y\E?#A?RL:@0VU ^ M:(G5]H%PX*'^G[ 6?(D]#V_B5,+!, ;)8S-A,R6>K[0KBD$F7GECS\5EX+HP M' ]D0KGC$S_P8LIM%SI_4&^>0K>*QL@H7.OMF)[&=4(3[IQC@B>*,]OGKX'%C^MZ)6>E \(\6:(>ZVJEFSE \OG%SV(:D;X\)*Y1D^:-I=V M8$*6M$AQ2FI+Y=-R8&IJN:UE$PVDUXB>6P=5B8LN50XN;2;M<;G3=RI>2*S?D17K/T?%WNNS>X^H*UXMC MG87_&6HCQU_QP;/+N&ACL/D2>#"0YZU,+-.T59EEI\;QU^G:ZRGQ_*8D$X'D M*X/()0?(:M*IKD4ZF1Q.[EX50C1K=/".U8Z%-;-TD%FK#&'6/ M#V/=&X.XAJ=@F+UI+ M:J7X@'U.-/^G,.(XSPQM2RXHH3/D =,-<"CSKYWV# M_6-9^8-ZXB!.>NHR4120(-86]K64>A2;,=+QN:;+7&?=L6M:H;>]S>LE%)'D M7:J\XC\A'&^8%QM$66";'(HLM@%4JEG(:@5@)-T$KCDN&P5%D<$+9!T"5@K$J,AGJATVP4ZYI:5%M:A(]H MJAT>?L%6Z2Y&4NH\?L-CI\>FYP5X*&H;BC.=CLBNN5,K9<5YH,.26):"?:ZX MV]CA&_F%2_$$Z84NE'N;SI)-KS)]A?0]QPK\Q5>63V2^K-EZE>J:<:6ZH3M5 MY)YIJ>]2\K-$!CYU+XCU2B8>0D>6L\MA.3NA8JF?NE^^76,!C\O[NZ?KNZ?E MA==R*<6:Y4:KEHDGOU4M:]7W(XC7':I>;K8RB47>U +,>10K(]@'D(:K_2N- MG?TK!Y"7FU9^V:>\W' NZ\M+S,!ZZ#X^*;=EY>;VKGMW>=O]IH"R=__XO?O$ MRB0N",]W BJG<8_:TKC'6>5AB]CE?=#,?G,/TRCCD%5I0)/>B"@:8(?[=*2H MYQ#ZON"2UIWSX89/ ,'UJ?#PZIJ.Q14G9RR/7JDNPN+&H M';#_VSX0?NY]R?A'8OPV)K>@>PK=WO"+;Y2X?8P.*%LLM2 M+>MBC7?P6F/Y$*0][E M! 52H, M4BXD::*UIERX)-Y0N;&<5ZD?Y%X. ,YK4C^05RS)Z2UM/"X1I/'-2U^3/F4I,IV"@ROMO>DLTDQO2\/ M/:97,CE=W55.2S59"#G-,/H/3! Q?1:SRF0N7+"BO\,6S@&&+G?[3N!'M:T> M3>_GT8E RN$,.%IK27TY;VBKA8*X)A7F$Q'$->:X]%U &A/"#ZZC4P/E[M$Q M+*5L!NRJK5!WY[)*U-I[:2[[=EMF]OZ*X.D\RJ/SB*K6FE%8]6U9N7_Z_?IQ M^YCJM0_;I.4GJ@2K5K(*J):6GQ@*!V+T&WTF%M?QQ$HQ:K4B#+F]H MJT;RM2LMNA,1L(!2=)(I-T3W'5>:<2?!I-G)5JF['@IMC:Q.EZ7N*HAH!8S^ ML!.]V7K$XJ55>&AOLA<$^M)^>*R<0JCH2BWW)%BZ+L-\V=E;GQU+)%402 M T:OZ( $EJ_\&&/7#&J;CIL0P$='M!2V&7!MO2'5WIRAK:9E=48LU5XQA"UB M]#N\ ^KN@(*6FXC-.3J&I93-@%VSD[)2I3T4VNJAE*U+E?9$I"Q@])Z5:KZU M>0%8&.KHN)7R-0-&E5IL[M!6CT+.&U*+/0WYBAB]?AN:?5.F6YX&?ZX2J[N% M-F9=9]^/%[WI C*O0@"?-:;[XD@<>O[ MBX9\,XLF VI%=AD07 L[L2X#O8=K5O;[[O[I6GF\_MI]O+J]^ZK&NB/++.BHIC*S>..U+4 M2ND?K/D-,6T/^]:\$M5U:&+C^ND8IOWB6"\4&]-CLOF\DQM_"*LAHE4BK5:!H$?N%2A+[Q0DZLX@1M=G#8]P^N\&@","#^8GP:^ M^^[G3%NW H,J\,7D97](?(7 \-BC#8#L.R[NU,J Z#Y?D0[8[E,0?MA[=F!2 M UM[ 1I&'H 0$.\N)DW/*";8QC;FV_CW:>6":M:N*X[@64L]/RF].?"DQ3( M;Y0V-'T;4YCK_&43V=I8N#PBD_E+8PL(<^&B@U(!H+UPPZ6&F?*]L>O\F38/ M;YBVQ%?36ACY=>9!0+)G B<15X$5NI05CN 807JUZ3/;ACU.P ZVUD.5LL(QX('W3PL ^V"&H$;#VBFP+X[4(7! %+K[(+A+C!>0PJ)M, M,N#;$4FP;IM3*@!TPE@2F\?$Y@@5!?@?MEPE!OTK0-1BOV_>* _4@("&+5@E MF@Z,I@6UBW4DC/4NEY=FDF@Y,%KZ80-Q!=6VL$ODK(0<#+#5[PL%I6;$JG"Q M)\)&QO@"\3P',.HS/0A4*)]I,,50W8DVOZ_F,[D,^A'_*=BSTJ?/$XGQ V*< MV0T#KG\X_3\Y8IF)%_&G$]=%DX@YHEKR-F:% MG*9'M:ZE?GE$'!EHCSGCR+]AZLJ8N+[-C3B)F<-Z.VPZ,'&GFGJH\,B:.?8# MGL:/V(LV,8F:\P+-\B9'C8<0EIA?[ZV&7"0,]N)]0(N:0B(E/ M23 XP_;HC'.=J0&46;HN]2AQ=>Z6#S/P+,;"V3#* M+E8&8_\39[Q83R?Z7X')SUC8G>AHM#AU>3ANPOTHL2F")X,I)5;H+HP4^B%Q M><".[HQ&#D[?T7^B3,6'[[J]J^X_).X.B#O=\8![>& NACH"-[)(.F4<]"U@ M/?3O$UNJ^P?%R51O).,Q8(&%\&.4-HHYESX'E@P$.,J>-4(A1US0)'1VX&^1 MP-:'/%+\$5O>P50'CJMSY/WXZ6(0SQ\\4XQIIONF%D+3R:,%!B?3<.1^)*E%1^!2#'L0,D%VV\2%>O=(ZT1F3" M@N%-C*]DTAW/9:GKL?,^AG9.O2.BNPZ%1YT1D_J1PQI);\#%#=(]B\_'2D2< MJ)^I,W;@\^S 5[=8W@(/86($'(U73&AL3,WMN/."5DS_C/4E"!]3;&)*6 MI/3@P;RIA[&#:^10)&443]/PJ(_"$$PP&""L>EZ,]C8:G0*8=),3)9-9FL^DZVJDP\/9?$T^.F9?Z+*CKA^4<3)^";+?.Y.Z". M.RCST-!EVRVFCH7Y9RP',DYQ"/&JO NVDRX-@%/<8%2$2JKQZX+HP4>JS( M5-D.4R'YWZQKZFQ>*].ON=K!"#/:T4R'#4CTL M&RTH?8@\;+#\=!VD0S$RO3$<:^&C:.W,?),#QS"!_5T%32;79.GQ'"&+O,/, M]N7SRN&F<$=-)CM>,=/:953AA+'?KH=D L@<,>PPYT5DXR(AC% 0@I3A^0%N8T.[!]&MS.?I>7-I@U2GG.!XF*#+,TRW3JQ!(& MZXR+Z)H.C2(IF9T=(I-Q$&R2.ALUL*?%%8R8A>B;3L?(XS#87X'I=$#%KYBA^J$.[N3&[R^,N9U6C@ SI# M5X "QS)YN.:JDL%1#+% YM8=*1_*4K*@P&8_;,BPO MLOD\IDGX;@" PHA@^/M/4%Y]!<',O3K)D#@FNA*)@\BN".L14&4.A*E""],>4OF[HU-FU.9'6Y!%L4\B$BC8EJ:M\#V M7)%E>G&21<@+@0_C'HQLORA(UN%"OCF!P(%1$@HHVU22W\)?\ 68,8MWP(_" MK$R>@\@]Q_&M2(:]L__K%[51^7S+MA!5^ZSOEI6;V&_1BX7L5 ?N7RZ6\*)/_<=?]<77[='VE7-[?75W?]?BOWOVWVZLN7O[2_0;4?*WT M?K^^?J>@GBCK^7"+>ZT3>%CF*38<6-@1=Y?1, @)-2CR<1TMML[K&#.I%6^U M+H@^+ YKD;%'+Z(?GU'9MLCDPK39U-A+G\.QPOT9MY:Y.K$,>/SV=-#K\G(&H^\L_KZJ%EDY8*VBU68 M@, S@B(5U2GHS[(T 0G]ZO7"8V/!^F#8N R/X;0*"BY(+X_K;3&I-K"1E? M((UT;0/_:OGV:GVN'VYR[(B5AP;21ETY1$\LCI\DCM"#RB 8_4 MFT5-$X5'CM!L;6ZKYM&N6B6QM4;!P.WLG6;K$E)79W']>(2D4T!^WZ(8KL%/ M\RS+>27A4>C?,A3+W6C@&\>]LR:FP9C6K*,MBQ&S,@.2^!]:.@!J[*AU'-726M%Z M2-N,+5+W@YS+S%4$O(#E.^IOB6AL$5DM5JJ+!+NAI$R76'O3)N8^EVJO2$I: M*4,RI*1&H0-Z:0M=24)0TMF9I#_LOFE9U$ALILL] ^_QQKI:=\YY8X64C< Y MY0UO2\YH@HPM-FH[BUAQ##9)1FN+V.S(J%7H5(O-:ET0,LK(ILF/?'UPZ9B8 M!H_EP@3EMRWEZYGH'BOD:PC.)P3CIJS09A*U(I76DR2<%1)U!\*I55"&MMLM M00CG['342(9&E=L2N5/Z>D=:4N-84[!>,>XT3)25S:)OA)="3YKJEOEUMV%ZFI(=: DMRIYH+J,-&BQ M)?9#V-6")\+_%9AAO62;^E)/WD%/YE!]L(CM@UIS'0'VCF[,-/5"1P5)7=]9 M4DL-641*6JDA9T=)#: DM5BMBV)K'3ITY2BTVCYV!<,LPEVEZYEH("NDZXT)[])OY@LUIK#E9N 6 M.D@;XV>+]:HJB XBM=E#BM=,::E> 5IJ%.N[RU>ISZY/#5\=Q\ *;5)?W5JB M1B#R-O6*D.UT,'DK9W/'Z3V*2(9K9"@V9%1K=!I%&NJ=*0>TI'*0KD MV-F%%YPZ/ZSRFTZ#;>YBL&[*"G4,>ZPVI;OT)"EHE;LT"PIJ@!D/5KPH$=?[ MTD^3B='MQ>)DQRW!PP.WTB7JJH4O#<(0N[A".B V+JZPYNJ%D0GIR\X\+FU3 M(= L=&K5>E%K+#J&]](F8EUAN9U"MQY1"%H21?+S>?'S6A%_F_)SB_.SVEC, M*93\O*AM1#.(YAH60\U0F5WC_4RJ,(HQN1-S,J8S^3>3MP,WPV0G#-_T)TL- MXET=3,=X_RP\&U'%16N*SZV0F!&G9?[^V:4BQK6GQF2":?FR<./Y%*5;L\#2 M Z>,[1(IZAA%4VP+4Z]!UFF4++%[I:B=6*+!TN\;FBAQ96=7P@2PZ :4]PFD MMA1^FN2T M0N!F3DX:(RR-6-4L1A%JWU">KJD MHDWTVFRHJ(8EZSJ=P)OQTQ:C8B=1N,TK?C+21R9;,4B]T:L5: M>V<[4&JV(I+21NF;NY(2EITN:KM[V:16NYM6^TY%OW6.3*2FLJ:^FS $HU)L MB4N;<@\K3=UJ2=WW)"EJ/=TW6XIJ8=2]UCRQ=,]YN$M1QJBRT0BCO M[I9K8PQ64=T]VVE3;.5 43YKRELAO'>FO&8%*$\K:EI6#F%9YR_3A%2I->\E M*S7!-YOG%#95/,!6&SL?R4E]641:VC0U=3=:TI"6M-V3\L32E,66L.]ZB:=I MJ])1G+6C>.O,PV85#4JU(4I]-NDK%L!7O#TUL:( S90$-NDN/F .:T:Z[0Y) M<#E/!UO?+;$I@V!#6*U8JR_Z(V1*V/$T[_.E]/7=()M2>H-1NI92:5M2NJ#) MC\*]?VBW%&N9?A2>O71&(]/'HO;\B!>Y%%9 ;1TS&S_<.3Y5U-K'%B\L$BLH6L;E\D5Q%*AR=%Z[+3,367DSNMNQ>L^,4= M.CGW?$?_.70L$)K>?_W2TM3FYUU2NST?8_C_2:R M3H<,%9)*S(+M][E^V62J^YA,JU+H5,J B;12+W,7E#%QE1<<[[.R= $>?L?; M8>YLHEXW\(>."^@VUE/WI@M2WX%N^N0VP/*ND\/D#+52!'CC_]8 .9^Q0N(O M[A_T]X'O^;#U U-ONKSJQK#?>':WGA=L#O=:H=-L%.N:6E1;B[V;%L&.FL^^ MJ6B[E=3W3]X[$ #86DT,-&L6:\VT8C/S<#89#'@LX?2K"O$49Z HWXFK#[F= M5%6+BE;1:NS1*ZK349^Z,[>J107F/J8P\@NU)BL45'D*MLJWE" +MHB!;&/M748OUFBC'4?)P\Z#QUYE041N+:K2;Q;HJ"A6= M1:Q>5]>#4=)*H'"X!?\TSQ2'T"7S*NB6L#0+P$G*\X MF#?E#UY'HU5=#+3Z*+71?!/5@H ]&%&APP8-VL6PI(,3U7FHL0EQ&V87.J.Q M2X?4]L"N#XMJ?/I@.9ZW@ &IDVR291C!F66"72:AS -?OP&([ZA_/W@B;YNR M3178IEAIRV"^DZ2MU?F&^Z2M&M)6!O'48FG![+M-<<3S>V%]WN:'JKO$/IU# M^-,*<9T\QKYFD-Z4:[ U4$LKME*LQU,*@SJEF+]SH/L56\GN=-_@=-^N-"7= M'S*'OIJ/K !=O\1R]A Z(8FX M?LA_US9VEX\GTNLI_\7@R5S" ],FMFXR'P1<8*'N MY=E0KP1LP@G5M'(3R6/L>.P<]L+%6MOF"_W\:AK^,.*FQ(LAIBO35T@?)A'X MRU\1!>[J7.!;XE^<+?*GJ=4:6GO0:M9J6J76&K2(I@X&.NBZU;Y:577ZOYI6 MB%X:QAE!8_),2WV7DI\E,H %7A#KE4P\)-$D/0(QSL%]'F1+ 3,8[ TPG"] M8#DNZX9P 5Q.77P*YD2$F8LR=%%>_[(:1:"W/:%(0.;!3 _DA%\_D4X:^H]* MI@M[%R/3KX^W5\K5'W?=[[>7/>7W^V]7MW=?>T7E]NYR.3^+,OD?=]T?5[=/ MUU?*Y?W=U?5=C__JW7^[O>KBY=X3_.?[]=U33[F_4;[=]WI*]^Y*^'5=WG]_ M>+S^'19T^\]K-FWAI_SAUH:]PPE@#,,K*O1-I[#%CJG+(^<5V#;(QZ6K2&R> M89XC8ZEX%V"[.BS%(F./7D0_/ANF-[;(Y,*TV8382Y_#L<*M ^7>W([.0,9O M3T4BIEZ@6 S=+N&7P]MEN/5I\7JS4FXW&ZFW*F4U]?JRH52M7&MO-M3RZ_5J M^D>VFE3KW:%6N*K>=]!CG!@R*Y;MRB.E347OHE?17W?KQ*2THWKC%!)QQ'_9?K# MR\"#Y5'W^DVW @0+]O6&_S>V"(=H%SK-=K&E+IYO"7C$=(#FE)(+SX\+Z\?F M0IARH=.J%"NMG>L[Y^BD5VC&N70\YEET.?)/)5;T\'L8 O)^$/+0QGRALNI+ M:GTQZUJ&@N:?=%8(WMU(1P/248OURHGU_!%$:J8;?%]=Q_.4L>L,=LMSRDU0 MVYIPR5">,A _, AOS!)5,,F;Q<:ACE77E!@":C@RAO-@Y+YB#]B%W&M [JUB M/;64B"1W6;Q1S.)HQV#8:<'[J$'?5O7M]E+C,(/WS\%@O;:?X1J\:S^S4D84 M#W:*+"K9 W:&?;2E;MN:25NYH6>H #GN\Q(NY/BOOFJ13U.+Q<[5'+0N>Y;7R/@+DM M*S0+G691:^\L5&49#P'):(50S9",6MCMN)%2"$;6G]L7(7RE-L5X;I2IQ!B9 MMNGY+@NRE@KKUHY"#E/@B.X,1+=EBW:AHV$5.E$T#:FS'E"\9DQ,:@6(J59L M5K/J9RR(VGK\#EOK1H.R]&5G?;>/]&+O(HMC_UK(+YMV(5)5;"E;!3OO0'4( M\NO+EDP#)NJ0A/*LE&U6/#8VECT7%IOX. O8\/ NK3",$[9UC.[.< ML:UCH5[H:,6Z)DK0IW12'=!)E3$I-;!2;".EX5>N750[-VEL9-^3<1/]MD\! MC5$E;\4G;S0#'35; M)!INL0 P=?'\(SL:SM"Q=-*'SP^N\V)Z2&2 P_2-16KU&VKU,0N%RM<7:E,6 MPK_(">U"IUT5I2F5U-P MQTZZ9KY';5RX@_;L"C"(67WA@"8($-7V7E,-#]"+[=IB5]G3,AHD;TG>VL(T MVHVW- R\;C?W:EMCY1?!=& MLYB[0"'&GX'GLS+2["R(E:(F;V>6#+*?T_8EK=]"?%R&Z'A";/#/=FWC:8J; M;HR:J%'<@^.R&[[OFOV 55U]^2H>F&WSE!P5#SR@^9HB5K;L8:IJ+'U< MU79I*[TIRH[D394L)UEN:ZLV2Y9KH(U;2ZDE)!;+96+F9E2'9;DMN9.E>YS9 MG8TRQ*)LXA88*V)K9#[ L?>1=)OH"_%,?1=[0;3M,J/RUD+NB%NX51ZHVT/V M?%<9U99NC-?$M0$,7C0,(Y=XUZM,=[UFH5,IIY10S:,;1)+_R9-_/6/R;R'Y MI_2\/_E,BV-@_,K$%HG&+N$:I\:V:4L\0;;=%H2Z3FL7W<@X7HLK3C#9 M)$N9&X)V@3DVYHMJ5E)7'-M3TM?N4CS-.T^L9BVZ( PD8L4=K3' M\]5ZG(C484W'9P\5T]_![*7%]M:'IQ.--T^G"M%U9P3?GF"]3-OQL02\"Y=M MQ829/6/YXC%Q>0SPD'H4B(D$AHF6#U"1@0EN[!<[[R=X>6#:Q-9->!%(PJ.9R+N+UQJL5*LGWF/^Y"P$R]RA%U4IJ^0/DP":'+I M*Z+ 79L[?D[\B[-%QC"U6D-K#UK-6DVKU%J#%M'4P4#7U&:U#XJP3O\7HZ7" MEX:Q'V(,#%KJNY3\+)$!+/""6*]DXB%9)^D1B'$.[O,@6PJ8P6!O@.%\ 9+" MX7GK%\#;U,6G8$Y$F+DH0Q?EYB^K4=0$%D,Q@LR#>?G(";]^(ITT]!^53!=< M'(Q,OS[>7BE7?]QUO]]>]I3?[[]=W=Y][165V[O+Y?PLRN1_W'5_7-T^75\I ME_=WO?MOMU==_*/W!/_Y?GWWU%/N;^"O^\O_QH5=/_;^ZY<6H.ZSK6WVQO(YM2KI=XXWIU:YJM:%FU.EW19N3NU&3;@Y M5=7WX91^7*'5WCFN>-=N:B\\EF(8$\]QR!Q[I9,-!X**^& MC@7*FA?JJ>PZ_2LP_VE?0)#]L& ?Z"0Y8[K=8YGUUGS><#M^[( M"=[IMKHQ2>WYL=,ZLTY'R1=B$5NG"O&5*ZI3],TJ5;6H:!6M*MO>;.T3;ZSH MR[>SU[M>Z#3KQ59+-@$Y?HC\V69;;KS^G/)X2K+E*@9/:%S73,M*8^)&H;-8 M2T/RK^1?R;_[YM_FYOR[X0Z-];C;S6(])=Q8LKAD<R^(T%JS($(&S-XJ M=%14QW>I/2)93;*:0 O?A-/:>]]-V]AV1FLNMI^7>ZED<,G@^V;PVKX9O(;E MZEM:L2U[.1\HL)\S9R.%.]G?)@9G^A>E]F**Z&\1\Y_3QE;+*+2E MJ=KG[8*=CU^U/:,P>XE2B5*)4HG2 Z)TLWJHE4/T'*AET,]#TIS -"?%R,FA M5+RN0#4M!U(DH^"V$X>R?(-$CT3/AIU- M5U01F/;X\)Z<:5K S&-6_N2YP*PJ#*TO ,HL49XS(D(WAWR_#I*UQAGKK>0$UK@(78,&9AZ<*L)OW',P1 M_(TT5JD7.@U1*N'(2DM[=>=)] BUIZ[85)>P-]L0U^;N1J&C-18;"DOZ$9-^ M)'M+]$CT"")\FR()W_,^_D!4LK1E-$%XX71B&\J83)C5&G8<5YP^3)49 MIIX"SP06JR_H.B/6EIR]J'C4]RU691#?>J$>/L/-&O)*7&,[J^8$_0C;636/ M %#7U+'2)\*46S.<$UG327[AQG&?R-N_3'^(0:0 ,2^- 5N%3KTA2AMHZ9&2 M#L-SN(-U P_F^)WOL/-,O\#K&_H#V]AUMI[BY\AC [X3)S,I!21Z)'J$ M"@X[A(RN5X21T>=]6@.J-?QI*WK@NM36)XKOPF@6LXH4$I_T%9E)Q.VF,SO' MD6X@B1Z)'HD>B1Z)'K'UN^J:"MX]ELF]3%;(Y-I MJA=, X B5?#!<=D-'Q3'?L#J^3\Y#Z RVGZ:\J<6.FHS@_0!28!B$6!>Z$\3 MA/[.K(+L=^+JPZA\;"V#\K%AKY J@-YP NP\PG*'<.^NG9"=>MVHB.QR_!DSR+"29AM*_3L!IJ<2HVT;7N+ZCV+8J%V4L5JI420 M$N&,)<**GJV[U_.JUPN=6D4MUFM2C9!"0P@&D4)C5_-_H>C]W@KJUAM@P;>+ MK>IBP<]M"^I*YI7,>UK,NQ'O[KW@?;V))7HK[<42V'*_ER)#B@PA8+*)R%@X M;$-=\ M&W!-M@'?/EAKH05AUL%:F I;*ZKU$_*ZRL9H8M"Z;(RVSKG**@Y?)[:J@BQ1IY$"*G'??"=EV6Q:-ENB1Z#E87R-M1>D>T5JU M-C )N%K4ZHOA+)(B1Z#B',5Q1=$DZ6MP23Y>=] B/;;F\5@J^M M4^ILU[;;C3:PBB"=(0_L%,HA!U6!9.]YGWW(GMMY,6DR[+G=U J=9G6QB:-T1XE)2=);*#1Z M-HM=6K!MCMC/M8EY&,5V/8.L)DEF4@I(]$CTB(J>O42&'41&UX21T>=]5"-[ M;DLOD$2/1(]$CT2/1(]HZ-G(!E]H>216I^,FMEEKUP5QD$O:.^#QRM%)KR$2 MZ9U9D=:93MM5V6E['\5;M54MLW8MWMILLN*M+=DR*Q>E=V3++-DR:Y6ZN$67 MO46QT#JI:K!2(DB)<,8288OZT!MJ$6W>1:^*E?JET)!"X_@,(H7&KJ$?"T6I M]U:OME4I=#2M6&EG5Z]6,J]DWC-FWNHNQ:87^1.KQ]>KDCDEP/(5V_$Q M3<*%R[9BPLR>76(I8^+RL)\A]2B0*PD,TV<5I3">B=>6LADP63O0@6D36S?A M1<^'"RS;HKRT>7FKY ^ M3"+PE[\B"MRKL]!(_HNS1)#&"!%\1Z)1,/231)CT",P,, MYPL058[+3OPN@+^IBT_!G(@P?>T5E=N[R^7\+,KD?]QU?US= M/EU?*9?W=U?7=SW^JW?_[?:JBY=[3_"?[]=W3\K]C7+9[?VNW'R[_U=/^(5] MN+5!$CL!C&$D.@:_L^?4>1=<1HFQ\&0[(&[H*=<@:'G;[#AH(*W5\U8 M.LGVQ%I%J\FFSEM K;H-7>7!ZKXDWE 96,ZKQS.9G3%%+084?#3L7D!;/E@; M\"P)ZT0[7&_6P&3G!";A5KJQCTA(7T\&N5GK-B+;J6IWJPKV9[&=18NR''A: M)3>(M#;Q:MBW:KO7L!N\ MF& ,*/U)J@ISL8X.LU4P_S'>S[1:CU;6ZH+3PA4= _[-,,G4-A0RPGC^?Y]C M@X*=M(19<9@$:]A;UBJFYY9CG^&0CB& M^#<$^"-^Y'[PPZ-=!':2E:XYI-.8IEGHM-N+5IK,E,P_]:S*E,R >EJ%3J-^ MDH4HC#(C>->.4'?'P165][X-R6A M,MHN$?Y2K93=7(50+UE)C"_S[0R8U'L!Z%-.GT)[W6"74N2ANJ;=N["5% MX-XY-A[VY=GT*K9=>#HG] M#,.9=GR:9!N*99*^:>T0J+&.=G*,]\_-71.YT3!@Y/& M#QMV3(L:"4E[;JWE]BMJ,0D7!\:N)9>!!\ND+CM5WYA)L(%V:FA<'J/H)4WM M(''?H:EYLM$J%72=GUJ_FQQ(U@>7CHDI3QSW)EE# +,#I V%J59167RH*M77 M4R.CC87I3F2D,3)*.861BNN!Q&OD'V<.((?YSGE/,3_T#)V9-KN/((^E3!,= MY8>>T:YM,*\ITT52SO&U2I45XA7DO$FJL4)(WHV)J 9$U! @F?C<--K8*SLF M$^F2W9=HC:#\P(&I[<( 4G45D6;6/9GM5+HU!H")!6=JWZ[\S'7>2@FVX1J(7S9\41L MWFTF655VV%5IB!+G+U7=HZJZ65"4QJ/_1,E[/S<=-Q*Z[QQ^2;5W_WY:Q$'" M4HQ.+J9:R[O^!Q4/PT1PR4EU5P1YO#8A;2BJ:QA;FX&H%DL_%D0\IQ=#OUNW MG.@NBO+:A?&%X['=>Y2MT*(!_EB/_B&$_I?)#P_+#<3LU(T1L#$WU5'QT6J+ M=5QRV[ALKWE;XWC@M, I1I M>#>@^3" WT;P3JK7BRS1+G2:(F2/2!?@ 5V &]--4LX.S#=JE/Y-72>%GK0* MFC\M3=4^2W??X=U]@<<.PCP[1ZQ#61IJ\K!8Z M]:;,\CA%25N(:,?-O=N14F1#TY3^0-ZTT-'0O! M0?K%\^,6RH,<6$_.U#"I="N\7 MRX5"?ST84)TIYO1-9^7Z%1D4/2_<#1;$M F.!V \,"'H!K-I;UL38)!1+ M2#X\8#H+1\[]X#I$S2-@YMY&UL3_74\Q\0A&E6OJH*#AC:YMS%Y(/)G&D^U" MI[W+P'_+I$][(#[,16#[ 0QUA,9=.M (&;9&#.U)MJ?&6X!@E/ETG+/N3X?$'I_N%RV"125/GTV;1N=2IA;P)!_9@[_ M33BOMD?.VYB1JH6.5F\6-6WGFB32]R\@K6F:2,2&&?#U1K&I[2RWHC@M$$18N-8V-]^HFEL++[NQ/ )^39(53 M9875921W8@76<;VM"545\I./M8BC@%#X)_KLB+C/ILWTH<8L^>J@$%#W\.C4 M$)U/0ZH0'1O[$'N"QQ"VXV,M7E!+"":!^_39!6UE3%P6!N4/J48+_?QJ&OXPHK_$BQSV%Y7I*Z0/DPC\Y:^( O?:7.1PXE^<+9*XJ=4:6GO0 M:M9J6J76&K2(I@X&NJ8VJWVUJNKT?_&$.7QI&-LD8_),2WV7DI\E,H %7A#K ME4P\I- D.0(MSL%]'F1+ 3,8[ TPG"^ YQV7J\# IM3%IV!.1)BY*$,7)=PO MJU$$V_432@1D'FQYSD,_2"<-_>G20M6.(BX63!A&ME\?;Z^4JS_NNM]O+WO* M[_??KF[OOO:*RNW=Y7+^%F7R=_=/USWEZ5YY^OU:^7'7_7%U^W1]I5S>WUU= MW_7XK][]M]NK+EZ^N;WKWEW>=K\IO2>X\/WZ[JDG_!(_W-H@HYT QC#PE.)- MI["3C:D;9IN!>"8?%U>QIKBI%38CU3\#SS<'DV.A&W8R157"6C)*J+C*M[BJV[>'I M'D#"'(#&8/MABT/89A]@/-VDWA-,X8OEZ#^G6DV;:U&F'5"CZX?7<((4-* Q MTIH;@#2\(W[H.PB+,F.2(9Y5><$(4#)A*=O33[--GG];&8%<4F:HQ;KA"A _&Q/[@D__?O E\ !QGL< ,N'_+@*E5IE?OF 4 MF+[)?W5-0[F:P+)-W5-^YTEAP):@^):5#Z!+,>+4*I\ON?[%_E(_?U1,0"6V M_C(8NGBB@Z3!YP2"B&V@1;,,8++(CH30E,J04)1>C"C1S)R[*)R"9P(W[--,J?Y"1YB@QO<1Q M#A.=*1/"C[@!?)&S"C[ETN? "G>P4![TJ!ZX+*N0C1,% J.P'IF>A^-':+M'+9.*_K&_&0'CN-S?Y!+61U=U@0D7CI; M,F+-HCY=(H(0M=MA$RQL"Y/O<'XV3LM2.&BP.Q3+PC:0:OG#_I#XZ+0J1EAS MQJ:=D*;S6QJ0+'EF'\("LK!!>BAY8FE&3'>&I:)A>!$/;T[KCEZ+L,^#PF#Q MTS:NT8O1HZ!-4-1*;'_HA0+S.W'UX8RTK#$W'.(JFB*P'GS% .G-E):Y63$@ MC,@$>(!I)SJ#;?C%2#3C;%)EY^$=$4#JF/-37+I[1#0;[YL+G^$[E9NR4S'@)-Y9>Q=Z7VG9:%.:,227 M;D5:+K>BAZG@1$THN=*SW9 B$1OI09FX839Y" ;0SN.6X*)N0'Z^W1(K$$: MF<[,>L94!&HR8*-B!.EZ0W/,!;3IS4YE:O$.0/J:0'*Q]D088Z3L@;/?,1.J M","1, =#0GT#YK,-K)JEO Y-M+X-PT6K=.B\@JD6&ZG,10NJ'NQVX89&7X@5 MH$_@=4AYL7D?%H7V7<1;.'Q2K^-DRQ0ZY24DYNEERL@Y7O _;Z_CI4:>A!&8 M[5[8\1(XW59>'*XK("6%%OM4>8LF:H"NY8[001+-%."*.@* (R&1&/+X).8Q MY4W',+B(@;7. 79^I!AAZ% A@4=GB /'9&:L\XIK<4)YQ:Z%*^=:EP.0F35 MHU(9G,#"84#[P"VX#YHZ\YMPZWIF'GQ1Q/-H"*I$K]"%A\,147L*K7 F;A%7 MI4A2QH(1!YL5FUPZ1ZC*=G,&\8!NH MA5G*Y!\>O1]<@[ 5XPXK4G0[V$UT9ANLV(JS9<[YZJY]O-.A)\LR$):,GZ M7+GGUH[.Q:$)TW#YCLB#$V:GS7RP_"'NQ]4C^P6? :EME97$"4WB[4AYBX1E MC ]F'>)V =8F2,)!8('P>0F_!W+/>0&KC\FB22AFP% W<7=(B*MGQS%>3.#4:C%?#S'PEG2W/G1=NS7^;7O?NK(R)&$ MA*@OCQR102#Y#P)9?NRJI1Z[5M<]=HUV_">7JSASZQ[U'JE/S!>1PMFEZ6K!UT\N&%[(?-<@NP#S==R0/3-%W)<[VA***-S&>4P;,V8 MI".">Y+)/ *HW88P(<]XS9]Z*MR8*&(77;0]LA/?/KO%X:>P4% =?1"@Z++- M+APFU-3CSX"2S_#7@*S!,/-[*^$_C*(&!!$L"]MC/BK&'$N]?\!J5TE]F@X6EKJDLRJ3GA MYN^BTOZW[8L:U.?Y-2;:&\>]Y D26LWQ9V>6 ,;VP+Z_.#M+UUD8E 500;#GHS0O55B[% M9V^)>GA,Q2V :&QT^ M%QXV, <*W'MVP;C@DG#VI=#S%GUDZI1C-#OS:;3?4*BEB+Z4CTWE;#A9C$@+ M3SAUNNQDK $I[BAF,6%0!\(CP:1]704*+&;]PWR'RX?[(RJ+;% MO ,DHMHIYI4/M/Q<+BJ D.C+X2@?BS-;9."%2_!\ER!'EI [@8)]U^P';*@1 M!3I'LQ-CWKJ]2^7)&8,\;JJM\!KWQ($<3[#NC+',>1@=L[-?Z?-PB1<:'L(Z M/@F1#T8@C5?%SV^G.@_(<3_R7:<\.:J[6Y6 M9.$@DS%:!K#D=W6SJK:>)LSO4B!@L9VP^J!#V+F83(@,YT5TF7.%_ VJBA8;'==3FX4F.#C9>ED<< M#[!NEZ\>;! 0R!YS]C)8QB%$5],HR2D@\NGE8.N-MB%W;L7K'8D(JZR'05FA M[&!Q[&R[8R+NA=H!?+8_B4^IP=+3H]2(:,=BT5C1HU-'1-_$\(G%-\L*K[.) M\5:1"T"9AK/.;'/A)VAB,D#RS]0!(3\&R8AQ?3PJ??K=Z#N1N(TG@*(2E^9. M62Y6*J)W^*2+2JBIS(\%NBV\Y0(\F,,ZDK61KOSJN#]G>;@/+] 7ME.#^ TC M#)D)[:&^A3HQ!M+3"")X^,YQP% 0KW1Z9N3H)M/04?EE*NUT7,,TV,$U/]!A MAU4(Q&14G\/BCP'I+Z83>!C\!HKO>^=&KWCL&@57N]1WG:FX2M;:M)7_2VP6 MY\4QJ9;7S ]BR2M@7E CL.C]8%Z@>,S/NQC454]QWM:U131!WQ"GA8=PT;)VE*%]LE?W#YKRYV&!?G)Z]L,HPZ"LD8X]>1#\^&Z8W MMLCDPK29$& O?0['#P]L\(AB+@&;?9#?GIY>E"O\!".L-Q)^.;Q=AEN?%J\W MZV5-K:?>JI35U.O+AE(KY6JENM%0RZ_7J^D?V6)2M;KV[E K:K2\6Q.FO?!8 M2JD&+HB$JLKSQ%CJ.V>I:V0I=N;(V"H6]#.U!':!4J)&QKH=6C9IE250/BH# M;G<:%+"B5=8F@%D/LJ'(6"P"=A:0G^Y,J:!?DX;%JK:RI$IKI#%]"]6?I66S MVJMI; 45""B_/IB)E.^/FPBJG!556])[ X3+4.DR'8;LITO6J14=VFSQIU.. MJ+JB?/PC-]JPU?)E&+.,S3PC^7+]%GK[NWAZ" ;<$WG;M&91O5KH-*K%=BVK M]@O"]!W<;->6C"D9,\&8*PJ%'8(Q:\"8E:*:4A%;-,8\AT*:UX'KC*GLA+*< M91K'9YEZH:/6BZWV8DA.;FM12@J;4ECS^!368!36KBS6)9=-3_9%(RPN^,RZ M$V[$%ZT]\,4BZ6.=W\R4$0&Z8$@*FE)0^_B2M57HU(J5ZLYEI,7J LAII2*, MA%URXL#BSD(L;UP9?M:[/==;(:>&\ZZ=9+($C2AR9OA6N_78FRDU!=NJ.NGG I5D0*SWGC%3\-9K#68!$K^:E5D->,!"CS^(JVY6S\(PN<9YB:EMX)\[KT<+&) MZWQ$K/WC!!Y+?6'\Y,4?4C#X$",PO/E:IGE ;UC#AK(:A"P9>!DASU==PFI0 M)"ZPH9@ 7)8^E)IRMJ0@2%28H9A>=+$8(\2T>6;8T+% 5GKAN*Q;KS^9=N_% MYFH[U:PXQUH3#5EK0HRY'+36!-MLWZM$4^V]PJ5%'%O*W?."\]& MF&8BL$TG7"QL?^Q.J=(L*GM6C-F(%UA W]37F'R//K.T0UY1'-%Q),6=]TSA M^:5:J_)1,#B%K4N."1S!('([PHI6-$X/X13$Y%U$5-/F*][>Z?[=N;+D3/HV MQKC,1+O7N-!BF+7"K,*9JHA>N)(P4Y-GMO ZD=$MTZ>C1'W89%WDN A;F&[/ MTRZ?PWX0SL#T,5T(2V!PW?WO&.G\D3>DF+VJ/M3N'LW:Z+NWD?=@]9# M8)2W'VU6H?1)M"A/V[*2U203%7:9/ZY3LWD9*=F]7 MYR49>![^%NFW?-"43VDYJ4UP!Q/IC9EC\9AB,:(*V*"[(+DL?G:CMM*R^J,& M-T982"=&(2K62T_.>-&HA1/YF>;P"X=G$=DEZ.2!NNC#(,_T?O!/5A\^:IC MGP)5.#XBPPJA$:%4"QVULGA ]I\XZ002GJ)V=2:-^Q*&[O/I4]-F0CM#]>'<4">J8S[W*W*//^WMJ&26)K AOP*<.@S_S%OT^P1G*?\'(1ET-J MV\0L)V?-//3 &?_FGF2L!^;:,T(\T4^OJ'@3CUE>(\>F?MADL!AWT9MYE/?N MXUO=P"4>B "=5:.,FBWP=6+E'>:H!F40:T+1LG(?%9<*:ZXDIHM0Q+(-4><: MCV*Q:=BL7+YQZRZ:4#;*%#R3,&T#V-W%DD'\'##4/==8]Z08- M!WW(IW;Y\/73]V2GQF@\7/\1(RW?C[![5Y1$0 1_E/QH#!.$^ Z!-_C4.?C7(@[&,P1)6@?4AD54 M@_ TMN-B%MB3-]D7?L-^ QR-NU,5%K-GW8V,;LLHA\$4V.'8]X WY\'[D/4% MPZ>U+EB@$87??*&E$@JP\'=DT 8U]6IEGO;M1NY0L-$Y()!$3[AS./YQF\M86/ MEP;H66:)E>>9RD)2&TDR$%CA%_SKT_13'&$\$?X#-_OO8.HK4PL3KEMYB[E. MK5+V0<05CL*_PLL3($ <[Y\4LSCJFD/$@%UK(43"*(,#\=%5>4;5BX.:K8ZK M9:SATB1]/";O"?R, M'T362#% M9+.1"\A\!QAR>O?^E-")TWBYE"(I\?9,(I#*X?\S)N#)/WU8 KOH05'&YU^' M\D:''W;?V #S$MYU91??/)>+/]SBXA/[\PR(%&PV:0Z6-(I.T"+7MF@]!EC[ MJBP,&.H;0Z3@HX4=5%$.R&5'0,@I^O#,FP#GWC/L L[P(H0W!,_TL8:I>\C1 MO'D&I;@$K_07IHA5*99Q4&(:2_9&P[L[37E'D! MIWPDCOLT?2>&R_-'.V6/?AO8HR!%4DOF$B8G=$7MOLE3*UW>$_2>L;8[C9* M[FJ$ZP_&]26:G<*OWX'-?TJ_OM^!#>RU.N?UZW?;5N)%E$4H'T_6&"XH[X;P^43I$X"P_>Y(]5B[<';"6 =1B%N*7]7OZZ MH=^3OOU3.9#P!@JJ!HO'>\ND^\>JI<2*Y])^HDF/O"0RR#7+XZ1\I9*,*VU+ M_P))QD5]!7?=O!GE.;$D$M<*B]MN#?N]>A!HC98UK#;4&6!Q<5*#D\'B[H6I M*2&LY.J\JQ0+Y%#(VU)@UF91J/!HZVB X#TP2AM&IQL'*!7=[H3WH!!*%1#B MWE=DI:?'F5 Z[^^C?["'QR_XDO^R:@UVOW\W&NK]XX&Y%(RIDMZKD5ZS*=)+ MZ$_#03YG1#;IO06LT\\(=1K@E12$>1Z_#L&C)KKZ4A"H4AC+9(^PFV\$OWB7 M[$^1=.'%[/!HV5*@J#+RW!E5?!6>&^!MKRD+S]U"6/?!BVSOB7>Z+XSL%.#E M133U:E\JNT6##@8UPW9/$E!,A;K:5-5]#!,:=R-3[]?6($1YX+O9Z'??GV!J MDW*V#U;A"0DKL[N).K=MYM.S#76W6B@#_I'*TGE\%;K"Z ! MK<=;+S24QW$1MY=VYV.Z.C;N=H;:L\7!GY[8P>[M[\ABUA M=_OY*^"S<^DMG"F_9;PXGL. WMA1\FN?+-_9+ZL+$H=",YUR\CW ML-U?E-0QLY2\>,9SYC)>S+.;<3?J#8[1V^J,N>(9 M*&I7BD>##=KJMW"TJ[E>*IY+O]2CA;Y:V4F@!XMPX]LP*N$^TB M.?AGVB$;:\Z?@9_P$E<@-Z_ 0T^-]'_XI1!,713'BLE710@=]N]&O58^)22% MH$5@RPS\.Q+LU "IER3' .%EN]O)L89]Q;%!%^O1 +5K([3H5<\KPM8$9@3) MX WB]D147(,,=8(2E$8[!6I,P'XS[]9%4\ZEQGZ,@=9\*CQBX7-Y$JI8QX'" MF?_B)5+ 8?KL1_^9R0W!7PY[F2R.D%LY8^$RL7D=XL08D.6"\55/$ M03(Y$FL64)7#L899M-1H!BK]:9;TM7,)U3<%I>;=G> ?V+]NZ;'@R1$)(AS+ M&WZ '8-0JC@?;+Z.VAUENO\$#%Z,OWMAR'1A"M@YA[V;4,\DX,@Q2WE-M/Q+ MZ.)PT-<)PT9.5-6-#+QJ4HCLO?##!!I^3WIN0,9G2(IMDJ(HQW],T;>3-Z;M"X"4:V_75Z-."4*8E!0*=ZCO)%8F=0>;0?G! M)AGV)U_SY"<#+3SU$:9^$UMXO7$$-F9TB2&0CM2KS%XXE),_P840=OV&22$8 M8LXZO&V"C08#^U>1'O/!8<%1-W7LD5:ZNVF64#'#7WO8I\_8)#DD^?W@TK67 >17ME-#;&^TI2,4\FR\F&S8"2339"WM ,6J M7L*59;X<0;6">]"JP/%FNXT4*V\41C(=L@R?AAM,.?9A#N'"Y\W7/!9IP([> M$W%BJ@MJ)^=FM6AR[KBBV(I.5=T=L]U!HI1W65@'/@=Q\S(27@Q.OJ]7DXCO M>CN"E5IH:?!_2E\F^G(#IITZ%@=H<,1&E&G)ROS8:[)>--L&,O06_YTWU^'6 MI6[-F".=W K1E%,A[LN IU&(5L63L?KX?*M?1X>.]@1ZT_ MG.A:'+)IC E*SR*J!!HX&C/FA[<,KQ=9,[>G5<"U7_XJ["'\[TC(U. MKH5XBB7/R9+'YA06U[-TCBAUWD';K5DP%^U$MD>G&IUN"F&Y2V8'F;XU/!_@ MH/V0NM*CK'M-""]G 6]DB)>X,V>Q?Q>;1B>2']L'HYF)Y#7@D/6;@+1KMOL( M(FEU\D>EL@%R5-0O)\#,J+I$:2SL5FXNZ;S;WV38\O,V;JK14A(W M1)])X0_2_KID7O9QG^K9;J6JE:K.\/J@&:IZB*#H5C=_VZ]4]4VKZL%I5'6G M#:[!'IKZNJJ\RH"=Q+57Z$^C%WO+.>5U0B-44J?#"ZG3G,;L8"^3X=&NK80 M',>)5^,TW/!$&LZX&QFK+)$:O-';!4^IHB&Z;0D37'NE6'>.6-/!@\EM@3Q@)SXTA2%;2-I=JO);7*M;=R!H>W5E- M0@3(X^1*0HVRU1_IYM+2:O)'L&*^_K.Q&\3NK*0?#> Q4NR]+ 5.F'@_6# M<2+]T ?[H4YD>,J8[]UC0CR+F&8_!8Q**V\-/;62FI.A]>?VH&N@@JX&J<"B MH$N=D]0JLI8TG@D"UQ=T#%%B*9U8;O=,K--X)D9[O\BEID,9+NI6JRN-D[(- M(CBIKZ'JJ(WJF@,O;158UXE((XOQ.!ZLJ]N5P-_;G=5@X!V=/FSG3\4:A-55 M(PJTGO]9JA]PS,YNI;^>[M2N\U1>^58"1F7.#&E) G6 !Q M*! LC7>O%:<5WXG< 6%V'8<8 [D,63_B4&2W"6'.>%X$>$:Z%E8C(Z'U>$! M0]RS%9@ #HA);,9&8_ M,\+N>F3,TP3.&V*-L;$-%*&1(1)DXQ34;&W.'),OH2&=B_1?ASCM"3;@FNRQ M $3BPPE@&7^ WSD>L(XSB8% 2XU@Q/A[GYX"]@0_V@!1V(K-*7;;,EI]C)@6 M/I_X*U[.\LQ6U>T_K=@U]'&U/+_!?'1@7H M&%;/&$X'?ABB+64$#*=M8@^.6? F MHR$H'.\$ @P/>%W$P:2 3+ T1A1%6KA OR0*7#% MPG>\B'0)K'X-412!.] #@?7#6L8IYD?Q]/%=H#W8L^VAS@J^,QPU!2]:PY=) M]>%JJ 199!U#1M]$HVT"K#3IE=V8;) COQEHW9 M_)$%:U^99*5W[1QX"'SU>_"RG@4H+0:QA4DF*Q%XF[O>3Z8SF4/16U\=II=P M"ZX5E*;3Z@[K0349M@:][: FYT=:J7-.YJ#:2&I.1\^I;YP,)$?FGW6Z#<6O M68%@:']WP'Z#B5F> ,:F643YS7;!;)T)4D7::\IBVKQ++7\E_)3;(]0?[)FY M6D?1II0VAJ)-*6W,VI2PT;\Z,+$UJ)M?KCB%L@1S#JVTEL2 Q^1QG:""6XVL M1F["R-=59E;BW*?'+_SDZ]7)JE'4\[?W?$VF=EM.(/W;P=NXZ-5]QVP5G*M= M%F!NH_7<80)6<[JK>OY*GC^WBG[[%E; MO;K@O"1(IE)RKXA9W9'RU['N%Q:'R7T40T^YM1&2RU$, !""E ) M?C=FD'VB,]J1Q-(J9U3Q?CGO[TC: MJ\[[/<7[BO>;P?L[$O&J\WY?\;[B_4;P?G]'#W:H.K)P#\=A(J!I^T)3/RM %E% M7EKA@LX1'+MJZ08B'7=TH]N^[>Y*ZGE)GA>V(GDP$3"+-/>EP2+4\[?]_"W@ MEYZ&Z0 JV15D>KYVS)1"K!* M(HNNSK"WGF&7%*:='&#$ZB# B*6;@X$D9]KJKD?)2;F"SI"GN4B"@1*1>1'8W73R(B7=E$1)9, M&U7[IIZ_M>=E.3=4M6_*(,M@D.NN?;-Z=R/+4#40BO?EY_VZ:]^LON)]Q?O- MX/VZ:]^L@>)]Q?N-X/W!N6K?+.EJ?)1<*+DHEXMSU;YUV[+)A2PG(2 MHVK?#CL9.%GM6[>C:M_4\_(\3[;B5]*2J38$QD3I<;S8)LX4@O8QGH.@CC?PYJ4V\]U)F+W%PC4NXD?86,WV)MHB<)[MB+E+&,*=:/ +6G1+>PBU*#/. MQ(?Y>7ZDS>QG,,<. H,2#P2^"S-X@F%!Q<)+-#_00J"!,P5UY47P^11TK3=F MF@\Z#,<,6?J:M8G9 =/L\1B5,IMH<8BC1B^^-G&F4X8^G39GH-1A.1.V8!Z* M@096 V<9+1XGQMYU8-+>$>TP^BN&KW4UIQ_ M"NODXB4A=Z-W.?)GN"W=<]SG.;/QWGQ"/#BV@\#!OR-M"L99>T;KK+T CVG( M>N.9[3W!(*X ])_@I M:E@O!%TVL9&SP@C^A\\.6,;UPY#/ C@]8#-XP $.QX];BG3O;Y%8:B_T_&Q[;RM$"IVK-GH]=.PS!MB(_1#G#GG-> M5CO@I4R#J-2$9OQV&%1K[5XW+-H[*)K?^T@_&,1XZB=MXB+D\J MZM>^,D&V@/=#L=W9*2 S!,RE#5K80;0$6211H5=-IX[KT'=D5;F&HX)]H1 WWPXF^.5;!\0Y\H-03]1QU@_ICP2AU M"X1G7I$. M5>/6(_@FV(H_PCG)BC_WD,?MW@I.Q_ M9RENS\)^8O>/H%.^W]M34"BO;/?%7H9XRI'=1=C"C=E7?7$9'R'/;>.R.1YQ #[T68PGJ%A3/$[/RKU?K M;;7YFL5=@7BS^+H%7_V:_[P[:%EMH_"K=JM3^'G94)U.J]<95AJJ_/.N6?R2 MRI,R6M:P)]ND@%*&N76H T"L=ATF!OX+_]O(/5)P]S%F>(0C"RH**<9WH)7G MZ+>0*/\5LFGLTI]_.%.V!X##5@(-&TJ4!W0O(LBXB MC6(%+:%$LZA+#CGB6!&?H3^^#U#(/NO?CX;" N2'N2(:9^'"$C*;11Q]*K9L M#KW(OO\, =Z2V4'X2WTZ[XK8Z6'9@[!W0A;O=N9&S& M9??;9Y++=:AG)KV[46][O%]7A5L]W"9]OHYQ4+[.GHN7-I/'J)S7MP._H92[ M?P_\,*R79/1,F@DL$2&=R!#5&S# Y !DU] M8/:EE\'K@IHM9I3W<0"L$>-=.?B+4]A#^#L\R%VLKQJY&4YA[S2NV/!N9%9T M"OLGF4D/&SNT:_0*MU1NI,\;U1BLT 8U7!WO*/VL5QWW*(.YV[TB%"O%2RM> MVE%*63,O&Y .*Y9Y791Y9KFT>9;P@(DQ4O# M'2C -?-2CWC),B7AI5L(O[_ZT^C%#O9)7[CY@'MHG<9,]BL'W,/N:68RN!MU M5;Q];B6[ _>S9B4[I(IALR=)C*1XJ59>VE&87B\O]=MR\=(MQ-M_VN,9?!CP M]&P[AIGXCXY[X)'YK87<@Y/8S7[G;F15M.##T\S$.%L>A0J35N4F[1VH6;O4 M;EZSFN")#8Y&C%-!M93N[W2-3ZG;K2$"1*"FM@D/L' M"\-7VL-X',]CCB(P0:B!L<-K8"GRG?LPW__2!](V3[Y.9_?G6FUF9I??9C89 M_G89_@&R_9#9ZU*YKRSRF(MMZ,-V7N1SA4TJP&H8S^TP'A?CN0'QG&7E(_NS M\YP*TV3W'8OK"Z_==RQ>]7G"M(^LND@/[T8]O6T,G,;B'_[8V]<"*! M'AJ*7#C0*\_,]4E;$("J*D?;XVZ]TSY->MR@4Y#/?IJDM*.3AZ1C[RMMWW. MNW#6.O\!%B)U=*LO2R62$@XE'%N$XZP%^ /S;C34V\?WK%%9@T=^P7)Q*PG+H]$3PKL]MW MZL/5JSY?/31@.N1\%='_]*Z1+_R\HO/5IE^C*&&_8F$_- \1-C[=Z.NWBXH M;E#"?L5Q:3&7;NW^(E=0NN?%BD!,-Q?8G2C&#AQTN7*;M]-UDN9ZU.TY;ZYY MPEFWFS^(;I"VK9&-+G2\H)2'4A[U*(]SAF5#NL4R"[ 9E?*HY,7MZHA>V)2R MO&]8A3:%P^:U*>P>V*;P@Q?9WI,#A'Z@EJ+;NA,B]MYFB[YA.]_D;S6FZ%.Z M7V/"HHYM-'S%MH5?QS,VB5WV:?K> 9W _G">V61SG=^0MPJ6F.]8*!<+%$MW M,<4K-!YL?DN\8:MC;N_.MN]0M;;$,P=679,:=JJ^7+7$D[+9D6J)IUKBG9FZ M4K;$4_WP5#^\L_3#:PYM5#.\N]$;<*5]\/0UWL@:7-B9LS@*J>W:>^%EST/* M\LQS?4_*@Z,JB>9#HP"N?#N*6Z>=ZWQ2TUQ,/+=5#?%4,Z[S)P/O:/^RY23B MH'3@H74W,OKZP,QG=7R/ M8'EJ!Q4[9=AI1_I/[>PTE(N=;N'UU]^J;9]U.MW+5=\W7+>,QFK MW;L;F9;>MX[&!ZNZ9W+7/RF9NR&9._K\H*+,]9LD<[<03)X E.P<*#O7Z>]6 M0H@ZW%QF=CL+$559F >((6ATCNFCH4(I&5GK<*M0%VL-[T8#O3/,-[4^.VO5 M=%5&[^VVNM*8@^)<\;):RQ-=X:A*?E7)+S,,R!9-5[V6W^K@!6E7[YJ-AEU2 M0"!*?2CU<:RC=(CZP"8,/;UKY;TBI3Z.A +)WND=A [A;T.'>!]'<<"R#O&[ M'POFA:P8-L+";,?]8"/:,L%&_&:'" WA$33$V Z")>R4]FR[,4L (][XHTIBSF-G1-2PUUFDDEE2]KQU8P(!$6!0M MCE!!I.>UH9I#HW+0BG OR(IR I\7QF(X; VZ9E44BT&OU>D9M6$SF(-]L!EJ M*J:7+1>AN.X89#KVUN.C2UW374&YY_S]JR%A1IQ9Q1)Q M4/]I/[,?8S?&Z0"A L:T.3PW V7J34 =%FC,7W84*.QQY'6$URO585C[?!%B M@;W_".-^>V'N,_N3MJRR"V@B^'[;/#K=KM*N7OK8;-,(RW2)DDAEM_2,[.K2 M3B\K0O\+GMRW%[^RY%@H.3WCRA)5&R,?O8/DHY'W+1+(!WH%E26$&KMT>GF@ MT6:FNS5-0OK*@IQ/0M[[<5!90'HD(.;1/?.4"3E(0 ;*A)Q10."WE06D3P+2 MSK=H5Q;DY-SR;<8"9D\C%B@[4!B'RPKE#QE]?)W.5=@3(;2R$KQ$>,W M/[+= \]*KOM6N'U,OZXKO14^HY8YY%9X*%M22?OH7EXRW@J?K#U$USBJ/43) MRR_8.Z)W8.^(A_$8+]/"S_82-P+^&<1L\H=C/SJN$SDL?/ FGR)P9@,_R;2;$^Y(;Y)#:H?GX/FW,Q];'(Q-0KJB+@&K3<&(>S+9IT&IM MT:#:$%P/'!U75QLF^T3HRY(=,!33XN:@I^L^0LC'1L)OKGIZ8!AX9-_M'8UQ MHG#?E?!=B_#MJ.JH3_@04DP?6J;TPG?E2 CMM3Y!$T8G+N6(>NJZ>8=Y>@,_ MQF'^Z42SA*SP)) I$9IE*C)YJ;#N1OV.+%E("EG@C)KU.+[I M]TC[Y/E2OW M0&J-^99-68 (VP%[9EY<#K"M$@]V*,R$DE\X(;

>]NU.O(DH&FT)G/J!SW MYY'^W:C;/SH)2Z[$$JD5X3^HQ!4F#+HPLG]H"WZ#J1S(0_7A5V!IO.Y]]V/L M8)7T#W$GO(7I!WOZ$\A4/ MTXU$RJ] E6!9= 258W:S#>Z 55='0>4RRL0J.S3C#E:I=EII=NY&';U]?':_ M7(XEO;M'Y3>K_.:+Y#?OE;A96?L8V$%O,,C7;ZLLYS-&)4J) M*"52CQ*I?,E:AQ(Q[T8]W>A+ Z#70"524BJQ7AJQF1S?!/2Z+>GCAL@VU9)\ MOS5X)3.+;*?-[$ER_J=%ON9$H4:I_@P_#J*EKMF4S(V_M:=3X&3Z[L6)9C3. MG"<4EN#E_>;;P81FX@1L'/E!J&L.!]RS"8H,O_M;M;Y)@S5)[!8&$96%KK<2 M.NMNU&Z5W+&F" M+C']1F= 4]M2KM0_L%SI+7N,5N5'^0(5LY!F%6TS]+^S9=Y]1U-X$#.18>V^/Z8[_ MDFBV*3-\\K*2T>F29!CZFJZG)&L0*,<#Z;*393PD/3FUG_''.*#1?HU/YWY! MWW5>_Z(]+BF8!QTN-(]XA8Y""L8\\$';\)<_@3:R/53]W*#@AP&#"4P#?ZY% M0 R4=?Q?_GL780'W^3%.X/_[_*FC11.S)W/&< M, JH,HOD"KB0#MHB\)^="0MI-!OT,JA\(.P\=L$+ M(>T_7F*:@6 8UX5ROBE3@YXFBR]0E*](;V,_%\;T89WH^YV1@ B_1O<0ES>&!QX&YPD=(VH M?)0?%Z+WC_\"D0 O%.A)S8.Y.DC!F.&'OX(<>J!2A51ODUU8 @AKB,#/>8W9 M;>U3;'@ANU1L AZB0M?;7T1$X\=D'T/@&* -_;B8,OS %LT#*%UP),'%M;4% M/&)[L-U:@"KJ,0'-9@[YNC\[O]"(^#G_Q<*-8>\T3B[XR'O"/:(=*V5A&!ZB MB#P7&UDN_O#Q?9%3\\$##1_C GZS0R?\N@#IFGSR_F$'#KJ27V!.G90]P=E( M^--J@U 7L.=/R(Z59VJ>.QZ$%K@1^!;M9V'POGYZ_R4UZFC*TF%@2]_%@:]]0&9X!+NJ?9I. M8;_7'G_WUY K9R_$GX2ZWL8IUR M$\!--6ICE^XI9XIY^L7LXJ/ ;K+,Q'8PMG3F"X@FD2.X'/\,/_[ZZ>.'!_Y/ M)\')#\E@H8D*80V>#SX6A6GP@P4>_(2@ %D >NJ)WO?UX&O^BU"+@.=!)XXIWP;TPK/#B3_'3A=C M=.U"9^( -\)BYHR1HX8-,( ]B\#$D[ ,IHG3B? [&\_1X#^)TPUV*"3W$D(Z^#O9^153TMX74#%= MX#(3XI8S2%5 G)W/78*3BGD$M1>P0%:F\*088P4*NX& 'L:W^(^Q_\S $XG6 M]B[]4*.0*=E.44)1M"'(:FL<%OFZ.(W@N@)D%SQ>>DF,)5*/D:X]X2;!*QAR M#C'^TRKNP*H-&Y>#D<8,[ PRT=S^CE;K&5B:QQT4DHQ!'#C$3?*39!#T; )G MS \ME_2(KB':B,\M7M*CD YB^#%,\BCH,2_DJC@4 7)RVA[RLX[,0X]Q@.?' M(&N:G6Q#N*F_,\$5D=5>157LQY@M^#_WE;TB/9U5#'/;\40 !WZ$0^?8(L[? M:07TK$&!(2 .\8/):@B<%GX?)JQ0,L>'[2UXDNGCL7W11%TWPXF"J?F$RM^Y M@2)4!+HENXG8B"=,MMR># VQ)1M?(> HVB*K_\]8DUR-]M6(/\]8D8> <@6XE(\@$+ M7K,%&DRJ/7GKA,EI-RX+-$N0TF.W9RW7!3Q:Q(A?5CXRUW\!#Y*%Z ]-5HM< M%1N*,\NQ8"9AX\=)$3=ZTLG?P%% M/&J9K-/Y$4]<)FSAX(MG,%74%QZ=@^KBJD''6Q5QF I*1;@EW/ORP85*EU'! MXMTZEF")"!N%(FQ*)\+%;$^,:(O;?;KX48O19]D9:6 MTZP5[LS7Q.C35"CO$HA':]C(-IBX"1QID0(O3O09[BV2>Y+3V$7!<*H='O&. MZ]]^D-=F+2TQ?9QG(M!KC[$XY'EB/D1GBQEL";R* A-^L!0O\')-#)&\/1T; M5OR,'GJP\C>3WZ3/0!#IL@D=1:Y]+GXW ;T)L0@>9%!\M6 !^F])#/KB!]_Q MX*'D]$"L&V,$5)(?*9!Z(-ZRQ4I$&@MEM. )@PC#1%3QET<)05\C_,E>QTNR MM/@$3=AJITC4>;BGY)+9XTWD50>X=: MFPSG"O%1 6-NH9XD4)A;,W4;2=6# #";D.Z?HD/](>Q=*?OL@=S9O*V]M^J"RCH M\C5I"M932>:Q9:O=RPMF!P2SK7?,NHKH%>3G,=R#"7D+!=.TS9@-+R\SQMVH M8^I6VY $KT>!.]6JE?N7YS 3.*RK#]NR@,[>0DA%M8X*!:I<]9KMRPL&)N'J MO7X^N56!1S6?PTP);'OW;F3I;5,6!KO2ENK;0*6^;.:+*+@HA?2RDR:5+-GE MU4SO;M0?ZH-./NQ6P"\*/4KI%"EH4D6G2'"4U[\;#=IZ>Y _8U4DE+ZGD)96\5+ZV?XBYJ)RE&\I9^L(BV\EM MN4J)4"D1V4L&"0YG!J!\+;UGU-6BXO)'("I924GFT9)I7%XRAR"97=T<'MU4 M4V4KU< ^W]AXYL&[GI:Z]B>;.#;5Y'UC+AO[=CB0L=@M!%H>!5)V/MXG&Y>]J>IA"VM8- MZVCMJQ*9I&2QWN59C%K+=#M7ELFTM_(MN9XR)+FVXS6H@\NGE/>LN]%0 M[W://M-2[KZ4'';Y&L]>%WP:0^]91Q_.--3=3R&CSLTI?V>V&\W&!+KC3;3/ M,QOV[0BM?"M.VN73S7N]NY&IM]NJ&?95ORE[R]P=UHH)N6)8FSHOSA>CGL\I>5/>R.I7=[1T.>R.4.7W4IV?JU ML"K[.!%I9%$TUU!*UF]?0RE9C=QUH;A'Z12E4ZZEE*S?N892L@OKE.)2LLO4 MA_VK]/]*:[K$\N]1O;SJ# JOS?A'#K:ZCU[=XX\N5/^6N84Z_^M?KY&JUS(M MI,.;S[]KU,B%MY &40T1DE[[#'QJ/[&)]KOO3_9NBG$E=85)?POJM1>^*FA4 MHRH*546AJBA4%8525!2JVJK.V4*#'V;V$AP5&PA8*K545CHU\EAER]DZ7=YYKHLF3JW$%E1!EN^ M<[-*(LX+R"E*._(RT+L;=0>RE'*I+.%Z6>C4M1M3\J7^RP*_B+7Z>+$Z,#K& M:TG82V&>*\QSA4]\?8EJ@VM(5%.8YTJG*)TB3:+:\!H2U>3#/!?$_!A3@V'9 M,-!SG&NL70(_VBY"X.1SJ_B\1I2(49IY) ,X!*WG894M98-X1)H3:K9&>ZE% M/GX9.L 1///".M8;SEG'GP&18@ MP].PG*=06 !&_M/'E!B J^EKR@KA@N-V=$US/Z@@=ZR,9L_ MLF#M*S.;9:9-0 HJ]9A:TUG=39U5I*A0/T6_!WX85@BK!NUJNM0ZU[PZ=R// MCPK4Y<8'VLQ^9ALLR/<.]- $M]:!?\>>#3H\8A/B/.:%_"_23C9^+(11"V>, M12WMS2:3.< 0+RQ@VM].O(M_)%R]GXWIK2AFG'PG#Y^;>3=JM_(W5OG=G*-, MPLSM P1.AVT/%VR,H##NLJ5]F[&0I6J6;]_8!0YQI@YL.;SB83P.8OP3QN2: M9QR#$O'6]]WANJ@:#X4M/KG\?S<0#X "N#&.%]N<)ADE+Q2M9;3ZF/N9A[Y) M4SY_6H<2$L:YO7K$?H2)QE'^D7)KD_WO+%@E7#VQ^\> V=_O[6G$@E>V^V(O M0[306?,+MG=C]E5?O$&8A)>L 8J5^(9-'J+D4ZL<34FJ)BAO"4*)6&KJ!&&D M_2>V R D,CQRN+YF.%96J)KJZ1PAWL(C_I*^NK*\6RCO>="X5+RS=I9\ A). MQT-7FVOM_403GBS6!2UM!YG->LCJ+/]1Y@:Z9F]:QVDT"B=+KK@9<:2\WA2_ !_S2&>B\B;#N!]@K\7 M$#O!=Z[KC\F.@=<>["*2]@+FLTY?*!4&\>+/J_=^2E];64!Z=R.KE3_(2P2D MI7V*@ST6&[ %N!8H%6-_/G=#/SL9>:,9]J+'WP' MYS34P(W5'AGSDM&%M*6"B7A(0/)'MN:UBH'A&<>?A.3,I,J*_4 O)^0;)92' M9B\6@?_#P1Q3=UD>:P#10(KSESMK($,?/KX_:'_@0TP_!@\AW8Q[8[4;_;M1 MM\@L_(0/@]T^:\@@'&F3KX9FW)[$#( %(;A!*/'T3( M694ZW?89J#, 7AT6,.M/R ZPDFY+VZF[$MV>:'%WN6*J?.",U'QAKHO_RU5# M8B9 /) A'>_9![8N8$@B*J.C,<:KK)+AQ1!S\('1;KC,!MOK>RRINUK5:8T# MA_*A@?P3,#P/7]]HW_R%,]9Z[9Z&=WW&RED^D5JE$5\Y$6CQ\1Z*5FRS-@W\ M>1HC @W!NFN)>0\O=*)'$R2J=5[OWP)OK2;0[,E=/BE/]>2PU>LC&<;K/ "3 M\@,'" PZ!K136F^([$\*":R#R\)0%W)*4K N-V,8 R0/! -"*#+':%+@1\!Y M#D-QQS?Y,0B7%L:/6+J)D2#();PT6NK7N?.&Q#N_,OF% 46VLM3&,P.?'R>D M)Z1"R=(XJ1^1^@I7NJ&F=!OZ;(,IPFN,]1/KE5L,)',"]*U@SVS8<;!C2S!= M(?PNI .E8IN,,E_Z!-@1)R3WCQSR*9A!&^N5(] /D?;D^Q-MQ15<0> K@#\@ MEJ6#;2V$E;BL[.5@N.TQ.@!VHCK(SH*%O>^T[XTN>'X_/_ZB;S!Q:IDQ0ES] MW#3NK38_<"6'=LXB/'N_3@ZUFL*AXG@2=U]P!+B6X;U0-H$6AW1B1_\,_"5: MB83Q)N+J8V9[3UP!V> =CO%LDUQR<()=%T*-&.P9/ (\%BVE#OF+M_)/5,@E M9?\K/0[;0DU$V=GPVDUK M+KMPS1%"!VAU"MPI.@8>MN]&G5[!,7#-U;U'9^1=9G=^VD>WG:K"Y^99W:B7 MU3O ZF;KY.VKKX+5BV$:&QP?<1[#.&> M*@K:1J)5L(BAHXJ)#J%ADO&5)>/M!4D/XS%/C%B9F&-3S34H]Q\26 MYWU'LR2%YFFR]%Y])&?@T_1/^]]^D!Y,ITYC>^4S8D?BTB*JVH,"M:-;=M2J M9T?-G3MZ"T!2?^5=V8.X>O?2KX+WNO7PGG4WRJ]& M>22O7?%RPZI%*:'OVRI/6^284>T/YH[8 >;F5Z@FDF"1Q8<$6TI]K+5ZF8BN MAD2N+\.KH=(2L7R)!U9MQ6-*<,\DO_.\O>QI!/VAPK6JEVU,;*M-B-\C4GE)F;)HC1K3!/A%[;9!RQ6O5/ MM[]7NGW]1>^KY/MA#X2T-=A2X^=5K6GJ#BZ_JCZX*]M6-=E1WI7ASO5RQ8-J MC.U\>,*Y:).#JA>O=CK#[=1.0J,OZ:L_LN@-3SRO3-8!DC5_%'P$LW1V,$NM MTQ]B)5;Y]#?V.J^G"_(Y<&C'L'K&<#KH6Y;1M@;3@6UTIM,Q*!OSL6-VQNQ? M/2Q[W';$V4LSZ$H0!2Z3??31CY@VU 2DEU8MT>@/E%[V:4$I<-[3'\P&><[E M%'7;O5RA:!8C0D@>E!FZ.WE2:4%EDUK.'8 M*#/A:<\^6,@QUBW9+I T H6S7J@TMY<:2)\O1@!SM_ #*D3#UU$5E:Z-[8"7 MDXC1V']B9X'?M;3/"5P#$#P$#4ZY]'' APMI^ E;,(^2JC%G] =F[^$;LAGV MJYY&5.CV 7_7TK[&XUD&#V*C+I*R8&UW'+MI$C]?0Z9X!LN*.-R '8D2F/D< M4_1Q2 UKPF%UMNLFI3,\S9*_2^AM7H:>)G:FTPD=V&J;$H=Y56;N)[H6X@+L MD-Z*"A)V0 &BIQF;F>+.R/Z!DXJCM++3P^6&<4#YP91@C--;RU3' MB@4_R&1,AK UJHK]F"IVKB&*](;9$+WQK4Q/A#Q!?%7*Q^4&"UK 2P$)P,_0 M12E*KRZ-B\^UK!V&J#O@W6(WC+?H*PD"M.- E)#23J M+G_!<8=\#4A&AB)8U59ICVR*F=[X0_INNE;)B%GO^%NNZ2DC'(;0@!3W8U27 M+BEDK,ZB?XE_>NX26\AQ]"+2U3@N+\\"C;MN(,540Y%I[B^2*DZA>!/)T5YF M#)%LT/""T@I]#UX&(:T@ ^EM>&*95FZR'RP88X9_2]LK5;BX&.-2/LE!X"_9 MT'IF3V"?( C4R@4TZ;1JNARPA!OP/1]PVTN\#7WS5^7BM*IDA"\AI7E6/SA M9""4T+> >04V/G>/8Z![ +_PGPFJ*\NG:[ ;%4]K4B<1,;LH7+5#D3NR7S(' MCW14:KM*;9?U2EVEMI\AM5TU5*REH>(.P5.]":\BO673 4#KJ]H3JB9H!R.T MKX>=Z#!7!$ON=K "0N\,\Q?SLC4X4ZT'E=2=2>IV8)@725U>L#IWH_X@GVLE MFUC=0KK7/Y+S_'*SNU=ETHWT=ROF?DH:2BB9K*V#=C8[O M5*GZ]$G('CL\Q?W8 WN9YG/B\D!4'HC* U%Y M("H/Y#1^SQ\;Q2U)F8G*!5&WTC7E@B3%7)4#A0'E@_3J.H^\?-RN\D&4Y)TS M'V0E>7GA&MZ-^L;)T69EN020FNNY#18EI?XC5O84=.C(].4\YC;ZVA1!T1*O M1]QW&-HO..RGZ5\AHV;KGP3O?/#>"1AJ1J=.43O[;:Z!?*PUJC+:A4@%;54QS(WL)*;>:_RSN3]QIC#[]2;0!R0Y7)L**5KB]:B0;;FE MP$/(0A^\,19=L[>,_^\';Z.X?EW-%&D'XVYDM25)J*DAWTJ)P[6*P[8\VD/% M(6M)I\X/-KG_+PO\(C$Q>0OCCO%:$EFI,_GL^LSHZKRX!DNJG'$)54+M M!T[L/(YF9S>0IM&[&YEY($W5M>C$.YL#<3S!UO9Q:ZVM6WL+N0LYI;3F*"MH MBVU]=4O0&31;;>@TV[7&-R-^BTIKB9EZ*6KD#?JYN#M/=!K M86%,5&L=?85V+2R\1WNKHSMJI,=/?]I1',#_ED ?F^W]H8]E0Y36<\5GF?PZ MCJ8]MZE[0P/.; XL0AMT6V:[MC;2UO!TYR/YGS4C<.69G9^+:BJ.C5C/&@!( M2-HZZW:.]+LSBD ,<8^_?S6\A-I+*^6TGUG2]FQ/1/9?UO5;Q2+H&RM J+9X MN5V,*M=;YBY8@"W^1*((><0]P9:?[QUT^?Z70NMJB9?@>XY,W>H=C6M9:2XSX\7DE87'0.$!RWJ%Z59-$)&> M.AD[M8B@3?GVXE>6#!,V2#?-NLR*,A[5)*.OC,=9) ,C@LJR8:%LM#M=934N M(AL#937.(1OO_3@HXOXN;,+@:-Y7=J$Z(WR;L8!1OU9E'JJ.R M8W$_PO"5YLP7<41X'V#>V,UU0*A4:'2,\/[E):E);/+NQQA^^C#'?U669(*E MLMIYG(S]ZY"4!3S0 BI:I4#9"SN@I*1#BLY:&U?Z M0"9D>\>+;$!"NDHU^6D]Z$ S07CUB/\)V M@U>3>X13?T1%'!M3R_QW%JSR*9[8_2/$_M_O*?Q_9;LO]C)$+LAN,>SOQNRK MOGB#,(F\MGN@"K:P4Y9K_QV'D3-=RI?I%LV8]L:?PZ26VLQ&5V$^=R*!P9X$ MD_CTWPY7F-VIE]&IIWV9.F!N44@*3Q['(AB2/!!7IFRD7A6&K%9X4 MNJWXGX]^]+\L>I/,&4L3/DW?P&!(C3V*%*S.W:B7KS_A]4&XSA5?3'Q@1:32 MS'YFVM3Q;%QF3C^5$W0O38/S<@RK9PRG@[YE&6UK,!W81FQ,I;U[*WC=3-F"U04Z M%6WP+S_1FJM.NGN62??N1@.K>-+)ODZ=((RT_\3@E+( A6OK-NZ3,2^?6EG! M'>&*"]BN&I/KZ&R,D9D#[K#@HR'LFP:[X?BHM?@#1$'^)S*V'46!\QCS6@+, MF'27^/17QCFFTS-^GO]" X- ;MX?N*VY-UD.,0G4,J8PQ8Q/A/"UA@SJ*9 M3[L)8C2.T1G-6!^68DR&L#<0%#TC6!9("XD0D'MLAQ%J.8BKGV:[9S5AZ%H2 M+C2Y8"$H E?P:9@R*M!\3DXQJDRC_1IL(CAR 6E0H_,ZF=^+'[L3%-38C?!9 MU"6$V^5%Y4/:'K@*;I$PC&W@&?"3TZ@6:!?Y 72TEK9GX (N>>R1)�$OC Y^"98AC ^ZDG,\7!DG4G"T[$-=%:R/,X)>0) MG#FI,+%?^#MX6,";P0?B#;![\.!X'..:X5_))O*'5]&"<#O O?X*$NC:@;O4 M*^L+,9<8'.L H6LI_D>L(-R)QZ7VQ/R%C[5*P'M:X(3?PS5BK2SF'MLG&)DS M!;KUM#>38N(BY3"P8[A\LK[X!,I,C?Y_O[V'_W]19[]SH+._\O$QCEOI[2\\ MF,5V>N'7&9B)WR#NFB37C07Q0+\@'NCGXX&O$3QU_XB#K=F)PV(#>D'!:XT= M]?@Y,GP=S\!.N4"$=_.%ZR\9^\J"9V?,5FO/4N?!A<737Y^F7\#3!VWU7Z . MV4XB60&!!GN6)FY>$E[6<"7D@/<6;QPU!Z9PAQ,A4;! \ FJ'?RU1T>M)/4A M> L/=X!S@M)@G'$@,W0,H$FH(_)W]B_TE$<^>$)6(:8W>;4/JH&?#<)6*4: M\)VA 5^-Z%6J.]]A4JFJ?*\"\@N]&[3< 7MFX'.IIGRJ-=B6@^O>CFY!PH]F MDV(W6QP,%V0M6,.[D34X&D9(]>%3PG8]PF:<2-BZ;1"V@C1AV83M%M#MWGD0 MCC)XUGNBFPV&<0(_,Y^ 27;]!0;7JBIKBYCLR*O;5TRJI=EUJ2F7,3BZ5$6> MA@&*J3),95V$J0QDJIXT#1)O(0#Z"GO SRSG=O"=X0W+C=5'5!.,'7T13R08 M)@E&OZYNPA+T.5-,E6&JWD68RJ*^FMTKPQJ06MO^SCP6V"[I6WLR=SPGC +* M_58N[A;YZ%]$/KIWH[X^&$H![JQ5)[D$\!;+2/2^_M2Z-] MMY7XE]W\'WCPHRH?3T0:673-\96/-=T:5-0TB(?0T4TSKVD:5 A9(T-)VM!9 MJ1&E1H[J>WEB-8)@#*9N-+N>^L)JY.!ZZN[%TG IL57[M%CO-+TE9?BD4Z41 M7SG@OCGC/;(\C79GH'UV;2^7=GM("FVQ/!&!!'T>QKS^H*2-1W>8S^KM#O/) MQ.64E2>!EO.%3^O6;+%N4%L@.84)\NE68'U!R")4/]%,>V2N_[)7NX\&I;R: MPU9O,)0M3]5LM0=57U[VN3FPU*3./ZGMN<_U]GVYJO8P'ZG4$Q/\-BU9>7+M M51(B[2(H>H-I[WZP8.Q@[QRPA>6GSU=.EH>GIX ]8=W5!R\*'"\$O^ ?MALS M;4M>[ W1)\J=X&.FF(GGN8/_H?9B/I#Q_?YWS_XBJY(,#274Q(^VV9*R)\ M>+&#B6"$3RL^^"C !K9&W2).Z+4)^'#0TRTCGUC5V'"[T>=R-WWR=KUG:Y]9 M0!*\0S<8)]0,&]U:$X>,_+&52L >7*UN'J9+:0.E#90V.-6%W;H6R)^UUZ@& MTL"#XHZJQ_,]3)FU]&XWGZ6B-,1I$A;KK7NJ$V&ZV^I*HWJ*^2()E)@P=I-+ M=H]O: Q4%>6]) CJMW<%07C2_R$,8S9Y&V.!#L<#(;T69F\_$L]ELF>48]Z- M>EV]:QZ#[W[R/@DU\.+1&7;2B6]E"'0I_8/JR8.ET<*Z$%6/%L(=?D(B6N$' MCTO??D3(T-#]QM8G/JV/0(@PV=09ZT3/0?D?2,] NG8$:;7TPS%>FJ)CF MK*<>,GLH-9UM2.FAU'B>N2[GES_/[%W->::27R6_ISN![.\H&I#G!)+W7;0* MPGDETR<^9]P2(4C+_B7IMQA)%W#XXVX.?ZQLFKXPQ'J'SS/9+)C,8NQN^-(; MW(VLUJ 4WC>3]I+0-R&"Q1-9FQ7,5D/P:M+*KN[Y"QPS;"2UW>/O7UFK6P@' M,9.C5_?TT86O')Y9R&':)\GM Z642WP^(?4I1,5#U$N=0OR#=OW!FV#YTQC^ M_.;C1^]6'%#I<&*X[7"BL2Y'D\.(FN 5I0PCZKRH..TQP&XQV^MT /M2U'%Q MH41+B=;) 41.':'OEJFT>N&X"+[?*8W@&RMW5Q!%;V71LT71E35[67"]1S?5 MOK%G<'U@*;4\5;1[MN2:QJZ[S#:CV=JU)LRV[%W5W?):W?VZS)V;2#1BE;IN MHUU0URW'6@[=\,HQD[&]#^G!=H='0J+>/7QXMAT7Q>R]'_P.SU9N9-I'T,J" M5I=\_4DW4XVODG=NMY-W4C^W)WRK*"VGG?_@88D<=E3B5>C$WC^+5GPI;XA> M?+^HSNS'=6:GOF-%W[+REW=(>3)HVXW\-N&YWA%<$,RZD@JCRO< QV M)!72%85",;A<_J!UX@B(;K[2ZNO? S\,]XR!L"QBJ .Y:JK"OKQ245 '>R^Q MH5*V-:"P3@MUL"YI^P45U)M 1W(\GR=O:2:XP,[Z3<;!20_N9\T'G;F29>J>?OYNL#$ H0#G"\ 73J#"[Q,;=//4R4;OKN7#S>42)_IX+!)'FH9XI'5"-S@P0#OOLW3XP9+ M$LR> #=8DI5=W?,7.&;8*")7N,&WGET@W2E$O;C! \(-'IB6;G6/!EF4Q^5H M(B)=+K5KZO$30*Q MNX(H^B#(G( MO_9X#,Q* )5)MC,F]FGQ A23/Q['0<"\,6MI.%3D1[8+ZBJ#,;R&*\Q^X-]L M UK8:&<16 7 <'E(I+W 5W\[1D?F0&[?S1>NOV3L*PN>P1,H5ID??8]';\28 MX3=<:_;[-WX8??2C_V7PVF3YV3*AJHBW0Q,/>?)50EH"=@O$>V0)32<:(H\" M_P0V[N\][K4&XN0 &9\%"FF0"(6V0W[/1R">4/+>#\1'^+M]9-2Z&QEY&>5P M:WMA4Y. 7$ .2)(=?@&ZP !0)+@I_ 2E"F==1K$^^?/TKA3'0)K[F^9&V ML-%N.0O$$W1 !]@!LF"H:[ @9\*\"?R)YR'BYS/[F6G/?H1L2H8/= UH55<< MG;0T;9TL6SDY9X?&,S:)729@J7,LO-H'V@;:!>+F!X'I^PU5_C=XPV\N?+_B M1Y 8!A*\@'=% ?@^S=@NU-E3WW7]%Z2V0!..YS!?&"1< 1F#(BY",:;=1L. M7T:S@#%M#N^;Q]*X?CN@>/+ MBY(5'JO 8R7T!^TM6ISWMA-P\-I+@[ 67E/TSG C44RTO[SD+H*\-87,*D$& M1MG]1.]4]Q/O_A.#??_@@=<34S+X)S#EP;>9[8F@)?7IJUQ0#!%]S1CJ1J?1 M"59-P%\[H=PT."GK5@ :RR]:>J>Y:-E?7VRAF5Z$D MJCO=I@C?%C-NGBA=HJ+\53#E0X)0-&6!4*P3P: A1C.38!@PE]D*2; J(2M# M&5S.3O)K\4IVLM?&KNCMGM[NY8-S!7 @ P,J@ -)S."Z>.UM!GOM#D6TQYO! MFJ3L!F-'!T?HHSIW0(D?077)P,'JB!0$NN7@?&K8/I,N4#T MU3UO\3UOO:5F]5[RB@R=C1.WAA[%UG0#W&_4#7"O;?$2-;.P94UC[W6.X4P5 M'E_J&EA*!Z'.R]Y^8RY[>^TN^0>=O'_0/*50BV^2+R+)UIPT)8FXCL(/RB:N MM>JC?ZFJCW0D_M"FW%2L!.FU>W5@JR-67>S.D/R6H_>NT^UGY8 M5U/[ 62@)7MC5E[\4:W*H7"+,N_AZ<*T54EXL+W H=<>;!5H<*R:QP'N1C]W?I'F&.]&3^HNI&]Z-!H:A#X;YMCO-"\D;?12G M:C5NLU9CT)SCNPZ'QAKF42F4KJ@]WZ817M8^%1S:F1RIHKDK@ V$&VW]5Y!DD-C6Q\V.8U(5=D<8>XO)VT5#+]%AM\XVO"K>IM+ MEYVJRIL&!,B'E)UVNN7W#*KP1@8&5/&O)/'OH66GG5[9X;R*?V5*-E"U-W)> MTI7=Z ^;=:/?Z5/MC='7C:M(LU>U-_+(SG4$S75>W@\;='D_H##9&ER!4JBU M]N82.>C_*OV_TDSQ-:>F,RC,%5_O>(D_NE".?283\?RO?[WN_[5,ZGK[A2W\ M@+RQB%+WQ\@<4P<^6)3<4X"S5JH5/&&2UQ6"=9)#Z]PI65HD=&^LQ!O!UPJZ M9_V4U#%$=O#$P$:2FY/D9I07S#2+W0QYV:TZ%W4N<_6Q?O&:_G5S4R<(@7HPX3'\:YNVP-Y1>%12H#7V:;LG7P4BKYE.F&9R9/7TY]JKIX=7 M4CUM&'+$ [D&%;/&$X'?C8GM<\JZ 5)<-.M(#,^!X\#48TL7"A5 >ZZ!! M7N&CN8_K@@V9^>Z$!:N2[ 6)#(Z%_WI)JB1M427II>6CPL# 7]GA-#^.PLCV M:!(@5\E<0F /,79+>^NX-&%82.D"LI-_MAUW<^[X]F3N&Y.]/W:R@@;P^H N MX_&]\ \WGC!.V'1<]&R0S< 6E;PBFH&#\^+'[H0W9WQDS%M[KS,536,C< \< MVW61"$ ?\,,U4$XPJ\B!<6?VA#_KA&&,G1P_[W@@F7#V76+5W!3H8!'3QIG\ M&[1IHJ%DU@W+?,E;U:;O8],I&Y-OMFO^#AK@J>B2"][(),L#0!$\B<9Q^+.( MP>$10PC.I8\2#P=W!52VF-><13.?9T_@M\[T?HRF@IQ+\1TR-_WXGGHDKSL( M^*!XPD$F6\ \61 @4=+I$ZVP>3*LREVVF&N[>@C@R6 M'$4O1+N?P;,!!R2&,;!1=ZF%DF6^[,>8P6:L0HZ)'=E%!1NR9"=95&VR=LQ* M'UT.7 RQ>4N[A6B7$I-Z9&E*P>FFX4+9EQ\A$$:^ MV<$MMY;7773JNG;FBGP"\X>_-D,PH.@'.EGX \BZWX&HN8J_>G+YF_=@BS7F/S?/T)-C[JN?"; M]F7=K&RDHO*D]4]3<1K,P3H_K7:ALN$9G&G"N9G2N7;EZ0[!3O;T3@$>16D" M;NV5'S?.L#F'Z(S[;[;/--VZY,OL ,-:NM4=5F38$C?,JN2&R6IE&VBE+W1R M)*+\.D^'KM6I;D1I/VF]HXJ"):MINKVZYZVG!Z5%31LE326'"(67_ZE9::_, MBG$W:K?:JNQ?L7\CV+];,_N;R/Z=?!!PJ=.R8SV11MBNMQOA_"'EJE>@F&*1)@ZVC[I7#,\P8;])W:>@67P^^W9 MZ#R1G.$S@K#:%"C+4V=M=QR[:>IL&J-%RYLQY5&NX5I.&J3-RC,G&;1Z&U M?-M?JM#JD)N$I,I?)J?W:[;""PW\(@:-98=LS=*7RN;U-JBKYPI_L.-._$A/ M^&$.!-^%E)Z_>NS?C2R]U^G5A. L#2S<@4G(BHEW,+$A(Q,/B(F/QU]M8H,R M&2W)E\+BX(,L1W,3B"N+EBFC:"&VF3[L&9) &ZN\]=K9SI*0[:PVA"RZ<7QC M";EN\&37VY^+@1N.1H(Z)$']?$IA8ULA*;9;9[N>C&R'K0#U M3OMH?T'"CD =HV5TI;F4+3E[1FBS8QSM]3-1$Y8^\6.\:U']"&04-_-N-- ' MW4:W!:^1\QH04B@!.[ (XS("9J& M8U\S:T2L!J31XY!PNQT>OU=6)@7PJ#= M!H]I'@B/^94](1@PQT"&;7GKA&/7#^.B7!BKFP?*M+IYH$PQ)M5C/C'_*; 7 M,YB)XW%A@0TY"#B3OZI@ D9Y4HYT:,&H5&QO29O5?QUJCW$(OPM##?7 3?)#Q]-LUTV0"5?)/S9B%+[B M*3]V!!M+*3\D$F4$2Q$,.PO$ 2(N( Z>N+L!> A+8A -)W5 $+>$ C5"X'/<,VT.QSCVX/MF4@*F3)-=%X,"<13;LA(%J(;$6B;%V\H(=;WAT7!??\ 5!?G&NW),C>LQ] MA+QCD>VXH49:EFRS,Q4 Q)O8[U591"6\JH1765/G5,*K2GB5D*HJX56BA%?I MRM?^ A< 3/[7" .4TV2(76D=WYZ+E^5LNGIC^OQ5:W_[T70FC'@#3^*8_X0@ M/ DE^!DU$.:!1\^3;_:/R@?1_;M1S]2[[;HN]"]_H7)0IJZ23"696C[E#O]XY.5FMB^K%T0B/L^O^!^4[\N2P M8?OB'-9MXP7^<)A'$;F:3&+I5/!'AIU#78PK5>KP%NG8D5%V#NF@+.%N00=Q ME25\#1RVHUKO'!QF8,\+JV]*PF&WX )3XV;E^6Z1BQVE=N>0"\K<-8;*\[U. M#MM157<.#K.P7:/KHOC59IMIAT MJ[))3T+DMVS,"'T[0V>9\DOW[1^:(_/% /;/XL<5;V9QXNNJ5]HMW-%^9<&C M8ZN\5Y5=M^T4>TINX;)^:QV*NE+-B,6.(HQCQ:)'F*/6<"#)?:FZD:^7?794 M"AS-/I1*U^E;DK#/+00Q?WT/;/A0)9EN8?L=2?Y'L[W!M69=#20DN$E5[).R MC]'>D<%_-/N8Q#YF7;ZH\CAW,\!G'U/SE:NYA>MWI-4 H[%I)TVD>'Y\K1E))] M=B3,'\T^?70T^SU9V*?.Q@1]:71GA:8$NQ:J\E5/2QI9=,?Q^:JG-CP#\+8, MO=O-NUL-2D9M?I,%I3"4PJA'89S:U<">B1W=[.9]#:4P)&D:T>_M:AEA4'+T MF5DYTQ_".K _Q!M_/GYR]/"4-6?1M)]3"^/'? M;!PACK5+"UL$/L0V*+5B:UW;F8<<(]L.G)!I#H?M!Z%W/#M8(D!W$%)["B=: M=<9H 8D\^XE1 P:&U0S4 X#9XQD?DT87G29"0L]>^-BYP*%2B##47F:,OXG_ M'"8+OWZD.@68[2/3%C;H&=XAP0Y]#[Y9 I]&H)#A-RWMGS,'?FI/0+N$+&UC M@"4M$SA-GR#G?63U9.55L3.:.YX110!T#UF@$JW' MC<_"KL "(#A$JF+!!TP3M1MV6Q#8XVD51\#"V(VHR$/T6X#YZ=D]P>7'GI@N M=1EQO!E#JX3+X(NE+@W3F'J$C/TPXL1,13*"Q=F/CDM-2G288KHKC\QUV#-+ M-A<80HQBC\=!#':1-Y$06.QB.B%"H9-=!&I_]_P7;UWZM1 MS 08)6!3EU$C:LZ[(1+5CB>4PVJ7MHSZ+X,81] 4*^>T9J%IB?@DY%_:).1>E(&J.A#C,YW1TF1TZE M+?JK4-,8TM]KI."Z:0)2C&(-OMS3#!3QDKM]!N_%P#O1()L?)0PD?4X8PE[M MQ?^"9O+T8]E?* =&*I07:.(BG1[X "P@."IKYE.[ABYF'(9)O>.#9[O+T"$M M_C[EI#>)UJ???%F9PD^I*'?K>#U[L8'+_A^]_1\/]-14H*7W) MBL[Q>C^9R3H?V!D^*/$ A#M7X!;AOWX/P.%[NP2S@IW4_NZ[Y(+IV@=OW-+" M&3D>9.YMLO0PZK_!>:)QTW98A^FZI%-:X@" >\/;7P4,? %1%#S1F!NR%W)- MR-& I?[?&+P_AGVV>!,R]'Z !>9:IWW_?]-ADRF5OGO]??C)"<4N;>TS=?!8 M0ULR;&A'G7V2"KBUYCZF+IK-80NS1P9>^Q0\[\F*YJM&G?32=S_&,QM<)XW" M2#[AGW$51OOUUW=OZ*_.ZU^(5.P1/%$(,HPA?]5^#70:("69#493:?,V<'MQ MC8C%&'>R(2SQ RH@G]IC40@^%4K&%4HF\[*?<5=$"#=G-G9'Q=W_RKB<&)UW MB7AF=BW=L8.(H$T(SU \LU#T*,\V/&G M)?A,\$*8O&"Y) S2!>,EG[,?&/;D/H;I;'[TXKCNYF=<'>4^9>S[YF= !R!B M[CT+%W@N-R<>\>4G"V[?OXMF:P/-QLYB[1&Q5QY[XN$LJ154MH&@YS,$^D(5 M\.\\"L?0 0UX_+VB)FW]XS*CZTF;4*S,GI9[\@"P"P2;'+>?MN[00!)CZ M9U' *7IY^2$%X?_.!G5;6*BEO0?1\ ,1Z=*$QZ'E/8Z4(PXU8 7:>$\/;;"'AR9/L]Y/S]@#E;T< MU[WM$I'C5I,2'?ARD9AZ8 MS-9<\-F0.<6!8$!&B(UG0F6CAP8""K_0-5",$4; R0'B) :CQ#R@/P,:X2_X MD=TSMB 57B>UWETULGW 5\(8#$2;Q\S'OG2CJ^XC"Q?^=Y!E?QJ]V-04\)FY MO@")>8%_!_8+5RP^\);6)R>+-"=2@@7AS%F@#+[#\OP%G;OB,2(H0MX+-6(N M>+UZ_S4P?1H5G[QW/\Y_YP0NV&08"/;G^ M(RE6-L7UX,!B">\I=+@'-KO_&GL)VTP8(MV 8IO[\*>8+%[NO=C/?"()\X%V M9TA.!Z9J?V?A:H2)Z,!(1W%QXOMS:W,/O8*.? O\E MFK5XV(__>1?BLTXXX[; :+=[]-0,2/H?KH;Y-U\=\#-A+?_ .8 %7A=R/&_V ML/$E;3Y?;*@%-F[<$^>Y9$^>R0\-HOMX$2;'S2ZH,B86#>XA'3G3%R]^X$Y: M&R_+G"$S[3M;XBC\7(H3EX1[#%*$5A8X!03?IGD]XN&6AC!GL*LT&/ "B]#D MTJD;M43V%^"A$0031E&K!W7D,PB0'&H,"I$"3GU-*U PF+XRE=7-[77PY,UU M[Y-3,/&F]-PTH8>?F8#NH505\K'ZG MKDEUS9I:U-8YJ5HIM7U]QR 5&9V]X9\D07B2K8=M#NNIT?A9LO2XO56JUH=! MEI?L:R#16I-;G<(66-$"3Y=F%)Q!#,0#.Q;@]&UP@&^O%^Z1./4-2ZI5P$2K M57/D=MEP?TZ*ME6EZNH(!I=OK^&_K;946WT9.ORTCR>BD-V4 MUGU1RF7BJI M4@I4*= S*M!;@$SY/<"T='[(?V/ *49?[_6Z"I=$SMTQK595[[V.O9%![RCF MV"FZ \165J(KY^Z8W9L5W7.?J:69]N=>]A_H-O!J M;K,"Z3GYQO1:P_-NBPP*2/'%'@(['"J!E7!C^JWN[0GLN0\9+N8Q?&01U< ? MX24TUR7^V=2'UF!_[E:QRKDVQJKB)5Q+F*+X8K5]D MD-B;.5AXZR#ZP83#Y:3I3,5.P]%.L'37,96OFAMTH?PS".Z9'?R:XZ[CY$V^ M'?%^S?7)/)962B0;)I*=CA))B79D4R2OZ7B 1MP+48(?&/C>_>\/#Y\S0!\? M/ Y8ZOC>20!'NRWCH,D6(#YA0LR]T1KD2Z,>[9#A .C+%C5IKC,&4,^?__F; M<=53 7WWVX=O;Q].+9&7D+_K/&GOM'5C:*CN(I+NCM$:7F!O9#CE4,RQA^@. M3"6ZLNZ.V:J:E78MHGM-@JW> MC::-*M[8R1MZUS"5X,JY.8-6YT8%]_;.>B;B?O;=YZ]7Y/:H:ZLF75NU6^T# MD1UD"H&O_>I*W2;?GEA6C:V46%[F1CGI/WCF"1$BYK]*_Z\4OE(0_![%^55G M4(COR3]RL/]%].H>?W0AQ,^,DW'^U[]>(U6O95I(AXV;.ETK.,0BL+ B-T_@ MO(LO5G"D?M*ZJOJ M!]C;$QM"(7@](63C0-1G25-<(,G,2'3>Q #9?N/Z2L?NDF1MOFDO]&?P Z.Z)#K?C);5>> &V#94\2#.W8GDH M MG(<"UPP"4=V7ZK^U/A!"Z^SP%VY$;U\+=NJYM:CVTJ@_R&K(1?DK!_Z[7: M1;-V;9@T]M3Y?T,YZ2X(JO2*-',K];9XRW1B=>#X>,RH_8LG:O3QX[^9K6'* MA4EGN$*YH>XZ:$]CZF+O4N9Q+-DHQBS1S M*V46[MT4,\ E%24R'S6$VCC?HLBATVZ9"?]20T?,J_T)OTH#C*S"Q]\/UG]O MHH'+_EY(P?88(^OOH=>V(1TK\YWU!$/R+Q\IKJ$5K5P[8?JI-1G*#N-H_VY, M;R\3KG.+E032<]'()=VDL1WB[DU!"V[X:GVC9?RDK7P3LV4D_"::TMD+/.#D M^SQQ(FIXCZR<^:4V\>-'5VQV-AQ9 !<&O*UQ(IXB4!",M^(HQWMF890T]*21 M8OS]S XFV-A/3UM"L__$3J:3EX^][1CVY'5P2C[G HVIX+]!!0 .RQ(P84SA,7Q@[&Q#^K'&4?T M\<0)@W@199RX@#WAO["Q.>=(:H\YP29\KO,=317VD_1YZSUNSQS0-6-JE2E> MB:VFL6,?]!?LOC[H,_Q\89^+/^6?OX@!D$\@'7Z+9)BVU M_GKZ;-7XD7X1/,$__BL"ZH2:I-TDE^BO"-W'(QP5R\LWC M;^"MGY-?H\RO;0^J?3&I9=K=?N%'V "<]_8#AR(D34V]O%/"P$(9*58Q@PUF M0"\F=B>PG:!H[+3%,W8^90&,QZ93-J8.QZB45^<(+>QX#.K'QC:@N.*U*:R, M168>8K7\?784L?F"> (WGC>I]%U0=,].M!1-N4E"B#YI6U:, M6]+NM\C^3D _L!^1_$)$D'01RUR[8=MPV^/-V0-0%79".MZ8FW=C342+MGKF M3&&6+CV*K:@3WL%WO?C!=\T?X\$=CK@NOO!P3LZ(/6!%L),D7YLS9MX3!'UD M\P6W)LU#-P:G+I_8WIP\&O';,3"^/\F,&LP*JHJ?@,,7V$#T>(S6.ZOQL--P[(E&KZ'0 M(<"^&&K;S[;CBI%:VC_9&FN WN/BE6FH&J)4P 26G"WP6]C!"'F?IF5/67;: M/O G[[8+_X$_5^J&*W1BQS6V7U\'S6F-4LB2N*J7M&'L&FW2CU>\ F^8,T;S M<_" @4TX$8@=\8Y:"^<^'G\7B5X#>>N#ISV +^X*\[[>YQ;L"6RLYX'(HD)R M(B H*M,QZEIQLX7DS1SW"EE+W(3W;"*^HLTAK8^;0H$ ..^3,.4$KOS OYQ0 M2V'PZ7W1;A@H_(+A!,:4XN) &$;OR<=/^>D0M<>&WZ9* O?,=>:@[B*6X9G4 M.1!]F:D7.3SW)Z@BC(EU8@G,;T"#'S^&SL2QB=D2DT*N!\0:$SMQ1EY8ZE0# M+?!9AQHL+],.R8)%N-+GXS2079(]]'SMQ5YR@<:^T)$(ZB"&^O_9>_/FMI&D M3_BK(.;MWK4C(+9(ZNR.W0B-V]WC?<9C/[9[^\\-D"A*:(, !X=DSJ=_\ZH+ M!"E2U@%*V-AXIBV20%5E5M[Y2YH#7>BAV]J9:-J$UC(.14CX6O 29T!G<^8$ M:SI8>2-BAB>1P]%/U#)'EJ@+K=L'P4?XO\ C0*,Z0R43^LNX)J11+Q,(Q+NYFQ?!@>F9KG7YNFS4RSV8TJQ+JYCF*UJC^UW?$^ M3^/\&LS.I-+6#J\#)& D*X%EZ/>ZXGY!P:)*JQ+_TN&/[(5S&3< L:&K@=BR MY71=A6[T(L?C0S>Z3*K:RH4+N%"9F)^EPDJ@2I'C&7Q6Q00M-: TW%2GS CE M#FGS:NEK\5#,Y%LWNV5@J5.7C%P8I\ *^9E=)3H#D#ZEDEN$MB$\: M.:7 *RJ?A7 0VGGGZUA7++4DS#*]DJ'TTZ28UG.P%#*44LYMDM*4(,)82R:W M6U^Q/:C7>O&E5^U,]MOZ@KZ<;]IU5"0Y^ !%4GY%W\_Q=M=+PH/?^$E20"D2S[E!MO+LDT)'!C<-1P)/.#SX[SO'L8!%;@ED=:O^ M[K_ -/_(]@K>>Q#K% 0D$@ =/Q")Y"B#"T,4YR?[5ZWGF[C@Y[+U,FI%]GOA\F\3?+ M11+^C(A5F>50L+7^R(FGD&-K7%W]!>OC7A;Y#;&K9!"QE@N^^4-H1 M'D>Z"ATV\LO 5J'HP#SZ*]>OW^L]\631=0M M$Y17F--#QLKJ^83SW[[PL^?RRKH$LSI-#ZI$.BS 3*_X7[[K30:@"#OR;3GB M5X*[G4:4&XRFY$2]QAOMJ'_'1BVU:%7Q5D+L>-V)RWZU 4D3/N'DTVA1JI_U M?_P2)R4(S.7/24;G1S_Z11XO5N?Q:C7%8B4. M@!X_K?[]=#0X.1^U?G0X&+;^?=VCAL/!R?ATIT>M__OQ^!X7=;[Q4;=TGV]L M6#%-:<8)',K8M8A^DP'K1HD?L"T=UUBG6W M>WV/CP\?#$_Q!9WB\/AE0MMQ-<4>BH#1/>)H[P6+CL+3\>F#08@]O],Z/QZ] M3+W^25%E$[F(-WF1QGMXN\?WH.#WBE]/#H^?4HWOU5F-3D\?0ED3!,UI9\"$ MVMV5+WD5I=^C!<1@DV#-&+;-Y>5LM.V=.==^2N/P['STE+KRA9SRZ='1ZDWL M@88>;G\=!!K2802='W9#XE0)PQGC?^5%=14&;Q3&O+ET\'->5U>!_'Y]PF"_ M"#3J'('8Q;N%/'\J+,_.? *]C>B/4G+_7"@T[AR%5BSV6XB%)091:^,#%D^Z M=1JZ-0$>-2V2"59:3O+K+7NR.I[OQE1Q4NUEEOL+5I;I1*JJ:!?4#M9,H_JU M/_3/FZMD>M5(0G)UI.X'P))9WGR-E260:#+ M#C#GC&607%*785#PAGE">U91\8G\D->H@EDDCEQZ4 M2GTM.?U-*6\@=@ KQU,.*DZ!E..YBEZEN"AAT]3&7729%SR2U5G!12O4!M M6;:HGZM\HWFYIC+ *<:NL)<8$_W!=9["-:>*,>/'MKX+EVV$!G*LO-IOH(?_A!]/E13.M$F^0? E)TE!MQI+7=K$ M3[/;8@Z'(Y7CW+U2$RMP!5GS%:'(4JZO*5M*:K!MYY(K@_5MIGY&HY6I $T+ M)RS+H1XPOIM6=5/9M^X=B[WF"NJ.++&T9\XB!?ZFJ]8LJ6,U%UPGVP1A*MI0 M_#HOH\L=+> E(&)QZ>57H%@I)>-9PF4^W$9$R[A=!EVJ#$1QRMM#AJCM!>/W M"6X6MS).J!<0&,&4NX0HBVU9?"&B&5\O5>A1.JU3JF=!N>0^GXX?=T[ME/QT M_#VU:R(SO?KVFGX475Z"FB2!:&IU&LQ*'=>Z@QN>\6JY_J<51EITOY;W!.ZV MF9N.[5O/3\H8&Q?)W215EA%^)SW=JCM<"3(EJA?J%]9TYV)CYRVFPY1+(?E= MABND. S/*U;3A)I+!PWDYBZ)R!UE_QM]4][DV90\F/T4_K>5'XJ1(VU>).JI MUC#E%I&K9%'RA02KI&1P"M.61Z9A')/(TE-'P, SB_"9C.3D:':[VG3K7#2XP05Y$;5[

D#UJ"E@U8CE9^+-)HJ MMQU38T]D.167 @T*1/DH6"N:QDN[[J<$^"$USN>A4T;I55P^RP-,K!SV7PL3N(*'J-]*QF]MY@ M4QB&502G97CX(]HM(>T>B7J&':D2%_K79%M>C[V=#7[,Z6]KJRL"!]W+Y"BR\:(Y$ ME*83MOW$'];=F>:WVK1;(==VW2$;3ZOM#C_# NVCD\'P?+?JZ4+ M>O1%'8T?K)1]-&P6(@MS[W4M\A=26.]98;U%A45BX_XKW\^W.KV-J>K].]TM MB^/OX>#NEN#OYI'M5!R_XYU]#ESUBCS4O(9GQ S3J1:5&W9__:15B$]1G_4E M7WBF]*ZCP;:[/<]T^-N6F^]*95#[KH?C<#S<=7;OKAT%#STR[O:%[#SO]_L9 MO(.T/AG<<3+G U&Z"T."'Y35>OGY[.7G,!P>=^M6]?+SP73EX+Q3E.Z"_'SL M_KNG,I-GB!5N@K=;,T#+;I^;.&_;8K#P,C\]V-7HWM*(\A&C>IKUADP#> MEO$Z2)WSPF*.71'LEB4;AR'@[,7*HE>2O2S M4MD=K+J6S3XW6=JVQ6XS\-%1.#P:WLU!>V2'^WO=ZCV4IEMX# M<_22:*\DT5DX/N\E44>ILR'-QDOMPW4N31*<@B78U['I)]$C4.1WM;-@]%TGT$L)U;TSG MS$2E^0WC1Y"AU\?M]ME;'AV%9Z-=X^R]M_QHN?+!4T0RNB!4^[C=2Y-$H_#P M_(XE7KTD>G#JG.Y<%_)<))&'UKG[F+[SO1K3]TF5=' M/OFRH=,],$WNB#X4%30R>F-OO/[%N)-'L_O\+L7X;0B)%)3U?!X5ZT><(=8 MUM 2S&)A^<69/:Q[Q&F>>S)?[14/S?!.F@I+8V#!G6 D-OSJGDWI.CX9[MP$ M?C8X/]W<^KO]WX_'1_?3CWPX.#FZOWE?_:(>?U''[1_=1SOY,Q^@ME-?^0LZ MES?//="( O&WWLYMSNXYW1JOZ(=M)J>?P)V?$ZG M^M% &CRVP.R!(YY=+J;]2#X)%-=CQTOWLV&Z_0R?>\-T^ZY/S\.SH9D*]12A MM4ZU\#YTLW9_H9[[A3H[# _/#OL+U5^H_D+=C[DW.AF_?B' .TOL?#63\;0%93*\I?@>9^;EEEL>C\+A\:@OANTH=8;A M\>%Q3YUN4N?DJ =]Z"AIACOW*?=%Y/L3N/S=&4WV8&/8WE-[>G0:GIP< M/Z,HQ!.X;CU/-7CJ+#P^[7FJYZG[]/O/AX?WY_?W!'UZ@HX'HPX1]#G'(A5@!K+!"+FQ.;^XC.KOAUH3CTSZ@TUGBC Y[S-J.$F=XTN.3 M=)0T1X/#/I[S#.(Y[3O^'*4RK7L>%5\5#E)^RK#.'MZ/TW!TOJO2[WM>'RN+ M$YZ,GP*LKB?.-DH_/#GN<2LZ2IS1>8_R^(S]_]]5IHHHY7'1\3S)DI)F25^K MWN??[9X,P^.CWJ_L*G6.PM/Q4_@O/76VH,ZK<3@\.]T^^MP3YK$(,QP-SA^7 M+GNI^#=8/*<=-P"^Y!6H?P'\R"X#]6VALO)NVO_%I];60+^-P]'A?<^V[%.F M3T_7H_!XYZ%3/5T[3]=7PW!\TEQ8_:^NJ&+T0T']TL><8#?)TBU M)RKW^"?6L,Z*?.X GOE@94\1_-C?N[>FLN@X/#[:H;9HUV/8 ]?O&9+T_+PG MZ7,BZ='Q/O6^]PS5>89Z=3HX[I"$V,N"TCTL)/E07:DB2+)I/E<_O9)HTNLP MR-23]@EU^@*MR5F$QZ-=&T_[M/CCU2R<]=4^'27.VOE"@^'N^?3GQY[J2=F"S&/PO$NO98] M,3M,S&$X.A\_HSA+STQ/*N8/!YT1#'U\Y7$N\,'*R:[%N3YS'*J48A:>CW8LI>L(\.&%.CP8GCTN7/JS2 MB;#*OU05I'GY0&&4+0U*&0!W/[%>L31=N8QK M8TWG1V=W]4*^ZV2>R-_L[T-_'S:5/83GIW?VROO[T-^'YW4?CL+#T6AO(Y[[ M>!_O$ ^]_[O9/49\=7QX]X*TQ^6#SL12?Z)!VG>Z G;C\L?F7"WMY, M=_^0!5&P5%%QD .;'.!_!9.H3,HPR.O"3-N _YA'\.,XF*41L&>-6(XTCWV6 M%&45_+N.BDH5.* #1]8.@@W/O5'!35)EJBSA<7 ?;JJK(,GH=;\E691-%0%% M<(V?YEUIH0#>O0K4MZ2D-E+\6@;G,$T3E56XY-FL!#=UL@QB-<7-!C0-4LGR M8UXA_L$\=Q!TDFAK&;"=C)H!<>O_UVSMB30BK2CX$\A8EG!81-DI'%@^5T4) M%*GR( ?2 "7PDUERK0*DCJ&)H(.505X $Z'$7."7KZ,BR6M\0 P/*Q)8ZPVP MB$*&BKC6HU# 8L 8^-P% HT",P'#7273*_Q6&DU4"JL*_L?_=S8:'?YB3HK^ M/?QE$+S+UC,U<6Z M SSZ\S;B;:UZY=4:AB1#9(ISH!>E^EG_QR]P*19IM/PYR>ATZ4>_R..%B_$- M#3N$7L@?"U^=GP_.CL?(6A)JE1<+UPV 6C^M_OWH>' X:O_H<##<\>_'X]%. MOUBWJ.%P<#(^[1>UQXLZVOSRQYW0O2&1T,$AW%^N"J6"]_"]JS)X"W97'+Q' MS.]@/ P?>\SYCF/I]^. T1[9IA1CFQUO=VHBQU\).JHB2][]J_VWZS MGUF;]A-\[M.YUR)BGHQV';;0#^GN>.IC33WEX:!;E.Y"W=B#LEHO/Y^]_#P. MQ^X#\70W.PW$/D-]1ZHQWQV6X#]IT09#US''KU3T)SX9/P1[]U=WFZHX'N\)$ M/9>K^Q("?%)XU7?W[H;/=1B.>A2HSE)G-'B*@6]=$%D]<]QV7B?A\;#'/>PH M<.TFZ8(N'Q<3_ O*/$ :/CI4XP[YGC M=N8(3XYV3>?T5_>QJ'.\L[_P7*[N8X,=ZC]Z!>G#B])&/GC?67MSA<3]4H*O$N6L-W=Y?W)<0^:"6]MYGVBT6&(Z/ MCGJ7J9O$&1X.GH(V79!7/7/<=E['X?'. +O]S7TDXIR^V##E/<4ZF,R'G;$X MUC1B(TK$$_5MM<-9'>[2?MFUWH3O1>2[_P/JRLUK/YG3\_!L>+I'P'SW3J ] M<),?^+IVCROA_P[V:0[QTS-E%[ ">\75*ZY'.YFSP_#PK)<1O>+J%%?VBFL? M%=?6(+=-;_)I81%_O07C-0P8%02A5A%W4\6(7S@>'/X(EWB^B KX@T A+HHD M+P+&@*TK^#BKDJSFSR>*,!!3. 8%+S'XAS=)=17\,#H:G 2PN33)LQ#Q0!%E MX$<-'>IC(&X/.AL%98H[-4M'F%C9C4541+Q9?,O;NL@7"@@@,+,.RBQN[H_/ M^ YXJH$XW1)2ME/41I#*C8VHP2L!3?WR_HO I;YNH=:AII8#2U3Z+()!8R#A M.EH-$#FVC&X:T,":0?0IX]]A*EN<=LUR'=_E'N M VSES6:TYFA ((8"C^&QZ!\/0[G\ MY55^ Y^9\T6I<(2$;5[^=0\,Y%EC1DC]JI8!/BG/[%HTB/,-HOQ&^.1)DD65 M<-<\FA;Y <'HPC/K; K;C9*LPN>4=4I[39#+YC@)>AK5^,.H6,*^JS3/O\(" M;Z(B+H-R -*&O^"OTV263 ,\T+PH@P@UT]S@%A-#%GO-.GCNK151]E;Y MN-]\SN)64P*&(VQ\R$%_ VA/P[E6V9*PEJ (TP)PNQ23/ MZE)^!()V^O5 C"T0%2HK21F$].FBR/\"SC<*H2HBN 3 6?@]A5:! M4^0S, A1*^ <@#?-?.2*=F.,:\F /_CAT-K]+"%^.!X.CLV?9*S# M-"]0X.69YILDC\4_ ;,"F?.2KA=2.JD<,Q24RP83% V1Z14^\H?1Z>#4O/7V ML1>^)4/;Q6]?P0:5'$=4ECFR$:R"9'"L4I"-8)9X[ C<0MHP2]AHA@L!Y ? MI(8=9]-E< 7"_";)XGUDIK??4*F1)[8*;&]U66[HQSLQ=J%_^):JB.:-%V]\ M-#C]D=EF?(S_*>RR%>>.]U[9\!EGL%*ED&'14R\5V=PHMWZ% T[SQ1R.O),; MO=5D!;6239,%V#UX1?),G'*@J+/EPMUR;+=L)36:O)N5TG?H).)5^!%(@0RU M4'8)[!UK1@1]@I>YN334DCC@ WX/[.^80KOKGNW.PE%)W63ZS6*D;8_A>H*3 M&_D#.*E&H.-7X0^C-@F_I9K#1Z#4\$WO0;"EC&NETVU[.!X<_WBK,O*\J6/4 M=]LHS>_G@K9A,/TXG$[=JAU5R>3 *@")A@]JJ(C1"O]/= MCX)5&Y$G4M MH[EJR'89*06>#7SMA]/!6/]^$&SDS_7ZZW8=Y*UY-!B2>7Z._TO6^2D:[%OY ME)RDY7H]*I#_GF3 6*1N.NH^[2BA?P>#M9"A M811N* I3:BOU?Y M!+OP1 0_GY15E,'><([E7WF!FX4S^[U(P/5>9L"U4TO>==XC\Y:-=V"& )^H MQ_O%20D;QI_A!,PDZZ84^^ZK9D,[' ,<'3E:+UD_JW-,&:11(V)H0W2-H)_) M,X*J,WJ%9SZF.6@;N )@W1#KKZ687O,@""Y087(.$L?';!_KVNE$J-CBG!3J MZ'13IN:V3!N75'0^C[9CLH4S:>\RV*GZZ=5;/K_7(;QPOZ)>SF82V8PRF\E4 MY;@/"8Y2PAH)("2F;',9O1N5'/FA_U#_KI-K,((RWPD 7E%+L?Z"64V3C^SS M^(6NE,0'3\!BHZ&F\%T=GU;?V$H++B-0)O3:-"_%C-0>@3;D] V.DB* -=5T M)SAG>8D;(OT9DQ[*Y6%)!@JCFE/(#WZ.NP'Y6JHI,/_+2:VL9X>04RPC*_E0 M#S9S*V>V2J? /._0+]OPG M0GUB>%]]F[(.1_AZG.)-!7I"P-&_5>6@I^.*5 MB[RK6)8A0ZTR83,-4F?PP!0.-R8<5:_".:5BL\X7(*[N$RHY]MT!J@'/9= M]!%#?2SRZZ3406@6@<&7Z%LG][;91G"-)AFBS!FUJ,02+Q(O220FY5Q55^PS M(M?47#.!1R#\5D7?)$J"1J)S1.[GP"NS%.U'_5<1IO@J_(+A(#V._(_!YT$P M4[%1W6#^55S-D>79 7W\%UR=,DZF),<&P?]Q_@D_@L>"V7&CQ6+H>+*Y36^1 MO /S 0X596.T>7!%*!XZ:H]\KTP/C#B_4:Z BM8RIPCO MU&'1%55)).:92H6@:4TVORS(OH%PY/1 MJ_EKWP:&O=7\:9K,05Q)(DO;!C147;\:'21F)?TQ&2/T>H=/6_1Y$O^OOR6C MHY/1^>SL].AH='AT-CN+1L/9; I.U7@R' ^GZO\-#\=_ZV;$L%UH_PMDQ>\7 M%Q^#]W#9:S"[]H_IOW H)%64LFIU>-&BP^I^TOK6K85_(]N3&L#L3Z-*I1?%Z!5839ZI;OU.(*MIXV4!0<3:(&IH19FJMUE($7V*"/&U(B M>0]7%GT">,X\^@JB!3U3=9E,43^1T$#->1D5L99[J#&FIEAW&BW0?C%Q6--J\V+T 3" MQ4Y?'\!#IF%G;F7%L8+;,*>*7?XE&@WTSJR=[K2S=-DXVCUTHWR*3%2:J&M# M$2N7.(AF>%N801@1#A H-JM3\BW%^L%,6]N]H"27(6X)&B^-"KH@FL$*$DE\ M03%BNZ@G8,'#LV,X*:SX4JHHQ9S*R;^^K.$9(,STM1;'=LDW01)W>'/RP@V[ M]MGV#F?;-W*MCK$ N?&:)FSFL]Q;RWFZWI7J34S>=Y,JT>('7T)+N11H.295"J\U M#^.4M-D0)A4J+I%D;Y^.0<ZLNTAQ+KRQ7UM9#P .-_EDPC MT-2.Z;Q2!X"[KED[;*#V(/BM+O#H0I%^YM217&R &_?,/BC)B!RL8C P'=S0 M IM$#(UT:I),'$/PH%&[E5=YG<::/>@WF*=AGX6"-BX'4-XZJEHXH:ELC2ZT M74NP1_?8)DOV96)N 5J5E[ 8B5!AEL4FJAKA,TD]:N#^X ?HB.5*&J94CG3#_$-&-&-QE[ M.M(6LY$)E0?F%:L;2]"[S/ZJ,_;GB/O6[6[_;IY/CEC-,&,>( M(C5\GOSRP,4$.RW*/\KA:' \QH-JN'%/6?[P,^::3)0>LR"O01"2:#29E=48 M_H;(Y*WY;(FGL/"7*(J*31HY 8$ZK;;)8E)!%_R-+K_IJ.&D]"MNM!4_-D0E M 2L!\QK4%RC_T.MC"&:*\_OHP>,+3'F"KH_@1DVO*"&& \@+J2%PDT[M3JZB M/DSZY13<-397Y3*3TWE01$GI=^# 0>-I)(6NN[[,\_@F25-'2;2GV_SMESHR MUJ HUS#HP[PU.1:Z.3 G^@6'F5<<*Z-O^A':T%GL/"FG*DVC3&%,6ON%KT,I M^G++*^A8UPOMNQ;V]J+ML42;#4AU3;S=0>2LNX@;1%"S7DC^Z-U:6]-$25&= MLJ#$"*V)S#\V'3>'FY](DS]PCK#[;'\T./:X7H=;WW[\_,1LOWH/0U@=N!OL M%5&#CRR6'Z7B@PC36R#YLWH^X80S_&X.>HH"QB5B$F#96*Q3E@2;0IF;/:Q^ MQA03F\84#*:8@$3W2_&7FJY5JVIO&'-H J!1[B41D @H?$).0F*)H"D/=$(2 MKG<3-DX8O9T8K!=XW%:6_/&ZL^:=F@@:@1K!F:?1HE0_Z__X)4[*11HM?P:[ M 4^.?O2+/%[";OB&!J 1O9 _MH&PP2$'PP3.5MXL'P_@HY]6_WYZ.#@_/6G] M" M!VOZ^[E&@FH[.=WO4^K\?C]M?YNFW0:/<9L?;G9I( M@M7'/*]3'=\;WYT_1[Y[1:%N<.G -"A?/_>9;>UG8&PM5//ML]JV1"!'YV]?IB]/P+6Z>T+N0-0<<_/^\O/I^'YZ6&'^/F>YF_1 M>T\Y7__$7+CX=*_M@UVBBZV% M),,A"9,GHL 76X(@73#P;U.#V2B,>I"L]/%@M,5*6PK[,41P,!JKA M _[VOU\-7[?'4Y^YHCTZ[B=*=Y0TIV=G>VT![;G ^UWEET6TN$JF0:'RXC+* M-%32'DJWT?=(M_TU&XX/=_7P>HOND4AS3:PP/]XJCVJ]_,GTG6#2SA_+MZ&7:;:]&X?'H>.>2 M@-YJ>W#"#,.3L]&C$^:Q;;:G*(-9TZZYK?K8.%GXA59)W>?1=.5>KAN''8[. M1WLT#_L>2?-$=FQ_(?L+N?%"GHW["[F;AM]F,GRGNOO^W]K_MUUO./;!/G&S M[,;].5FQQW^]WP1[,A@?X3GLE(=+ MKX>YL,B0".UP630&1@@NI1G#5"%0N7]N/L*%'=/T3&[)J'.W9'WRRJ!UN/3+ MU-0 :\T101IGPT>"3HQCFFN@9!1$!-91!7]\+7 2NH$24-^2*EBD$=[(+,?Q M\Z;[^PU!5RT%L%Y#0_*(+,;CT-"8ANG<\2IZ]HG%4 XBA!"9\V4C%JVSBN?" ME H[RQ%!:Q$M!33$@C6['&\15E:NMPNRHH[@\#TPF-=Z^:LSQR)"MYD6 M&FN1 ++RTA^5@C-L<15)7F@$K6F1P'T*@VFJ"&JL5+ISF\X@0UF7.H"9H0!L M\W""J:R]0+C$("<\,?-0@EU%G#MJT"?(%(N["2*L+C+\+;]B_>WLH13W44J- M.R>E_B14% 8C);AO'\R$),KMHQ9PMG4+"HJ9^T* MC)82WX)_W@#]OE]L>-0Y-MR4,VB=6[8RT(5KZ0G8RDPE=^RI#:!6ZV"K$&W/ M IZNM]JD?%^66?KK-$A<")"/(,E7*@46KH))E'W5-P"%/NV@,4^&)I $H;./HF=)8><:5'7.D15WK$E1YQYC"9GI^?$S\_ M4S"9IV8U>F*/('//[>'C3J #]>WAMQ]#WQ[>:>KT[>$8>CKMV\,?JA"_;P_O M&XVZ19J^/7S4]X;WO>%];_CS(TW?&][WAO>]X7UO^',C3=\;_G0F6]\8_APL M@[XQO*N$>1F-X1T-OIE1CMYH;J?0=!]%W/'+M-_@)HT.S[>_2;WU]DB$.3]_ M(L/ZQ50DM952]X5)+[.0XS@C?M;TST'X>0I M_8-_F4G;,F*[+KFS$=N0UDT4O[O1O74)_)X8?J/(ZXV-";<*I%Z8^:Y&S.O#@>'N\=Z>PN\ M(^1[L4P['':(:;MB )_K9V@,BJ-!1PWBMF[_!S2*]])X.@O'IW>L#'UZ^=R; MPRT4/0V'H]XY1CSO MACWJ\?-#/=XO#CSN' =^4K,4Y%#)5@0C\]G9Z='1Z/#H;'86C8:SV13$U7@R' ^GZO\-AZ._=1/9>B6^ M0/3\9_+O.@$AR\;5FVB!V%S!)U7F=0'VSOY!=8-:G*NHK$$-I69O2%I5S$OV M+8H@FJ!]ND0S!2\G&S=XQPL%/RFL3L$O3^H2W@*ZQ;66K#MSDQ=?26_*V8'+ MA4BF^I\D?6 1L"#\*ZR_ ):LT?B:P'&YUA<+)1!)\T28DVQI6M@,+%"Q7QUK MR_Y*Z(5KQAW!@EBWLT2MG+.@]8F!"BY?DJ5T#BXH%SUW HI[EMACL%:T.&*T MD;R0?\MV73D(3RWK!;JJ](#+(K^IKL2WU#8QGQ#0&U[+*W9H0Y^PB8D_]JEQ MDZ3H>./I!@YB1C]E9,V4D<[>V#FZ=C/A)7NOD-@METCXUWB-UT@10=W'GUB] M;^_-($"I$#'O@VXNS&W7UR:N"6T?S-OL$OU.S61H>";BP19RU9SHB2<(7-:' M+T=3N'',.)OL3Y)D:L0[RV#MP^/0W1(1B%8: 'A.Y-"AN=B/."R4"224;N# M=D[**PI28:@K3Z^)UO#]I$(N8N%!@O/_?'Q/48O@#7BL*O@[V&UA\*_!Q2!$ M$Q ?[/LC<"GA'7JN0@H\"7S_ZR2FV@]^ZP_CP\$A!D!2X5'P" E@;'A M1P$GQ66BH H/@W0\1D=_O*KFE3TG\-?M$T"?CF?,EV* M=F=HEF3@HB5(*^L6P>_EJ1_!\0O>#8)W\%$P' 2_F:]_ME]_]8=VN5[K%9#M M!$[_?[/G",KBDR*1CN>49"9H"D=T&17FYL:PB2VYOE/"Z(+T'3$EIS[&0^+, MH]"?Z1%<13$S/&L_^ \T'^=!S^,CLX'4N:B^0+5;51PE.6' MT?'I8.1_#G[&KVJJL+[(6P>Z[$(1?D<(/Q\-AH;A<#D_C(:#D?Y+Z#CJ>.=N M@/?)E=%!5F2P/S+RLXD5Q!HQ3CR\!XF*LH]M[#\&_P57Z%\*_Y(R;OMG8/W_ M\+_"X&/.__L.9&<4!N_5MV2:A\%% 4R& 4#'U)&P&PGH..$ U%6$=Q%T O(0 MK;**R*():KR1M(3U]Q$.#G\[B5(*6)17"CPPO"'6TJ>W352:* Q=7$65Z)IU MQ-3/,A\V99Q1.>BQ7H-\4V*>@% LZ]DLF28H6;2U*3897"43:TM1I["II1\6 MBD+1\7BYW]JA%9.2KF$D0V#HLH*+"]L"FN&0#!/PI!/0=WD&1X4&XC_R&XSL MP)M8=UI]R%$C4QSX M6SJNR5]P)&R16MTKK"HZGHS//)6DQ9*X!GYK!6VN[?UHBG#]]#>1GB A0,Z3 M-L&3JS"XN]U$HDYIYXUJ(^2/SO5'_P2'2)5:HN.IT>?#(_V%-X[/H:U[H(T" M"MG?=5P7Q:H"\I/98)42_G_-,*MNEXX6ZKUW+KS1*SQX/QT?&]CK'9[TMHQ M5H>#DQTG8CW2HC:__'Y&1_4CN![A'+>86[5_ Z6^:TS7@\_HVK_SO+\!78\V MQZN#!^F-ZGJ]RY'>>X']DS3[8$(3;0V)^%!U2IOK=Z_;]+-R'SV^""DS[#?=TM1;Y-$+:*^'73@@;R2 MYWP1V[;8\8MX$IZ?[SZ?=P^:8WL^Z]+>7IV%YT>[X];T9OWM1_MV-E-6_J=X(0SYG)CLZ/>UC[AP7W 6/_5:RF M!5;SO/Z)ND*QKC791O _JNW_?XS?>R]%TY=*O*3\].@^/QGN/IWHWVG3;P>MOY,N\D<=GX?AD[U%5'^]& M;@VKVIW6N#60!J9:^\)41PR>B ]&E@^VKBPW#6X5=>%(CR_B%,2!Z<"A;O5 MQXGI63^<#8Y,@S@VG(]M>SBW"/\P' Y.S9_,.J3ELXSFRFDQQHZ*,(B+Y%IE M^'B=@<1O)W/QKPF<0R!C'"A0"S)#WR\1?TN^G<]FY15BJ(-;,.3@RO.N^\[5:,5WA?^%N#)"U55.@U/P]V^LW4 M@W6;G=KJU@P@VZW"#B$M?CAU4%<8G(\X3,6"ZO:-X%FN\I0Q2IPN< '_2!^&#DCC\1Q;G, M-;26YF<0MU,"-:)_J6^JF"8E+Z/*IU]!%? Z&WD2\:L=<.Y61(E9G4T%M48CS2 >;$6HUR[P89XI$OZQ M0K29).-G(A(-(7L3;(2!D46P\6H9O!)&_;_OW@KOO6:X)<)6 J5%Z'0NQR.( M6FQ4T%;%WE1V@D)!I W2NE( M&+F'I,U$@2^@4K35]:+M)A#;\>YZYZQK>F>CEOFDIHSM=!&#WA: ]'=@6L!_ M7DRG&A;L8Y$SR/WVRJ932"UFFPEOC>&]9<=VFPMOFP0K%:MR6B031W\,U][$ MCNB ._/N:+A7O(L')FAS SP%E%@"C0CDA3^D^M^_LA% +MK%)*\K-,D1Z_I3 M4G[=/VYN0OL9WV,1E96!&9._S6K"(9T0@#T90@A6IHHJ0N!O/@8R;AB9KH 3 M,<_+$2$1YV+ #2G8QM=8HRZ4*#T87^*HJEF*$/TV=+*"F5Y8[#Z$O9J"@V7F MV^2@DE)X"9AR.+0&80.=J(W14?0(;9GA!9"3(JX:A;S$YX,;@)AB(ED>V'7>T;G'NQ;\QK;( MTT8Q67X2%*%%_'-PV)X%L-IOZ OW5O=A?,(^C*TE7Z=L9%_R):4KTU8D MC&D\<:Q!NL&>G&+X<;*7$7'_C\]-Q/*V1],3TZCUB5JV6B.\3.(D*L1G-"!P MQF"E0 G;&BA!K$7*;R-;V'5K$=+T\P"\YS2-BFVD&P[\ 6'(5%V1:=^@2\9AX00+=Z)/K$H@6:.0;@T]F!G9'T]H]/'\+@[P7L!=,+F%,J M!9 5-KY098[_S-,XOX9_IZIF:Q5Q6X$,]4(1-"N-/8._WZ!_ D\IRX3&G_F\ M@X"?A L)5QZ\ F\ 4X1_8/\'Z6G) ?!3H1,+>.SM/BJ&.LB0Q)H6.,8F2L5 M7RHBD:AAP?IKK@;UM<3::,:'CH0PZ*K1VD[F LZ01XS @C^K8H)'0,J:F=8_ M)9EAY1Y\FP1>6\WS6-<;N"$TX.84;*EQ0 H CK_ZV5$(#8OL[ M^,X;U/.$_O;US/@HS.B9BW?@ MQD-';3T(-]+"] -N8T9W-??)C,]#%8P?614\N8&\O]?R.W7$X>"L6SKBL-<1 M^\N,WZ\C'MAB>1(=T5<([%7TDPH$<,Y$B:.#J0QMJ8NI1,SBL&]B<9ZG3;[O M1$VC&D?>4OI'3YYE6QR$9SYAL70E\<\PJ)8+I"W6<6!5 M"JQD32S9&8"$05*%_(?YBPQ.%7>,;Z*1>.I2(K1^I/4[LN%'>YH-/\+H%Q4" M\9WYB 6;,286NQRA;-_56Z:W!.)L'G\?=[A^<*5E\I#+=CF9CPTNR<+L'@7< MFZM$S8*WW]2TILJ&#SCR#.0:E8/29[9\1#X+J4) 7QR90TI2$P4Q30KF9\?V M=*?NZ2[,Z0:O(DQH3:]H7AGFWV(UH\@HW+M/=8H9+N3 X3@Z&!Z_4J_YG_ 0 M^?MQ[/[=#,CC?WZ&315<^V5RE1>,(3<\'Q_Q&,PY^X*O2YG:_K(O47M/8 M=.GKX'Y:.VH)MG=-(SM!WE$)S;]-"4TA991_IYIE.'?:K3)<&-Z5"JRYL$Z! MQQ1BTB]<722]3@O)+8E"<69#421% +-67HR%9 M 5NC@1"5"95WN,,R:72>KA>T-;5P@+4Q#?AQNLH<-2_.MBM0.X!."1K4]JDF M;-*R%] A6IE3/?ECKRJAL7SUO.8$KY[!5F<\JVMU4)];&7/G*XNLCBF+19&@ MMD/MBW/&-(W S$]*,LOL'%-S')9E.IV26C,/SN8XWW%13JIE?? !;JUS6)\T M^W9YE]L)?M7\V\C#"R6J)/S!0"XXG9 M^D-[X;?H0VIF_^@"T=N=['1$5U6AL&)+'[W//(LF*9J27Q5/:U_Y0;C;0 MC]]E2"VP6O^)!K7X4""TWC8UKS9DNKS%79F8Q)[+Q-+IP0-D[1#;-N6&@\MW M8F4:7;N@E"R-1PU446AW$?\Y*Z(Z'@07YDGEL@1;.<3[ XR)7N$52-8;E:9< M1PC$83G/O@PR-P6+N,T4B$AV@K"Y"FEG.N"!DAOV0YTKM$TJHZ1:&WBLT?;^ M4NCBS!68';_5!=[RD(?@JA*]..P%:/Y@7F/Y([>,L9<;Z7-E*<%74<:@8S4R MN$@)#;[5H^BEJZOD!+<FA%OKX8-Y])6=Y@R/;Q;5:;74 M9PT_H@A6G-]DO,$<#(I"1V*8P&4R7X!A0KR+=V">P&:^JN8(>N^8&V(U,LAD>?2.QA1 MD3;%>5"))%Y$X.%*[UC^^CCIXD1V&U_;VD>WQ@ M;>VF> 0.=/H5I"K+\"?=+WHY,S.20@9;FQNV!Y'F7>)!IW_K7GRZ81#P',8G M,GD^7GSZPD;CNW?DFP]'OP0?OOSC[:?@W;]^^_#I_<67=Q_^=>=XW/CPMGC< MVI'(3QN/&PZ"?X*7EG*82J&%M)VU]T3[6=.>J"/'-^@ @"KB6EYX!5D&) 0G M*&ZN\_2:!2RJ3>Y:9[O&#WY' MI%#(V? ZB5,Z^(4Y^$:YM/,L;)%76H,U?@_R[A)E?8:RT'N>37O4IC$9<41T M: !.9%+@L57.%]'.(UWB'!"K#1M;#S'5R@1C53<([*? MZPKU:=AXFFX6(=1EZ/%8Z 2MC+^G6SFU MJG0,(!85$V1)<.GJ$C/[$<9_]S (^ID23G3T^ZTW/C@$Q5B&(_>S&FPO[%+: MJ "6>8T5$*0%)+8&-";T#(M-EGB&"R6!9G5*Z1XM>QU!#>97ANEAOT"FY=WS MZ.OZM]"REU9Y.%9GN55U[4E?MG@O98M_*BU<=!0$",]%,[:F!B0I4'KI1JBMZ3U*5@N)0^#:58I4XC MU/ 1V7GJVX*C\B@D82N7*K\$-H5GE)HI6=>!MXPX7T ^4./@UU4!9RNT(^>X M8AS"SE0:ZER"UJ3LH?5,](A,]($*+J43DF07BRPH_6VGO\>FN$NT!Q=1^/17K+9>'#F*D;00NCK MQ9ZDR,"%3?.R9+H7!/-$P*@<*-0)YYQ_[7S5@<;ANB/B$0E0:9&H._M!GZ'2 M3#@:1+Q#D48C$%'%)10W$+ %B;3U\N@1Y1$:Q=JV8/=QCD1 !T3 /X \?WQ% MU:*H)E(7KQ@;Q;5BVL(%/34?CYKOO:8 -U.:9#.&7D'*8H"HM*!)2'6O>4# MEL34:)7UUKS6,IU:$-CN,=9P3_RG,BTPR--F1VB;P6)"$A2[!8*G+I0+L!X, M&V$)!LC\S/M&3H +'-='.];D'6[R(HW=NJ:W=4'IE)Q*EXIZX>6L!'.,,=78 MYK@]7/0@QD;/D0_A,6'@FNK2,H)]F2]4E6P-%];3X7[H\<1\]4JJX+M:@K MFT!MC3'HI*=KS_&=(GNM5^Y/)-]G49*B^0UTL>$BU,P5(1:'(/.Q8RT&-9#F MBS"8YU5RW2">J(7R:Y)BVL:$!T3=B_AU'88[2."P%\&=81H3A'(N*2XT5]55'IM_(MU60M^8+Z2U\77187:(2$0V$JE M0 GL?S?8]Q?O#/2]Y,YRP>W5@44"S*3XDS9'$/LQ*N;H*6A,^PW!H.[4PW:F MLG7/KDIW;P,WU2ZI!6%Z95HEIDG,-?12K"_6&)5!< .-BT+M>KMB>F>J O]8 M,MZFL8/M+GLCZBRJ05(7L M"VD?5C;5(N=?\@Y%\=K]-MRK<,>E]BZ7^WFW] MI,M-P*A8#@0K,I=,IY9NG(HK5Z[KQE?M-I#UB=?Y.0KPSG+E'YEN$@C*?%;= MR*0%[-+ <I,J:T<>6%Y4U?VF(PWRT-ED"..T/$*;[;3OU;S@B;+/-"E'YG M>>9/! >NB"N28M-@MA23IE*7AK5FKZ0VW1-'R^.*%^4RI+ MPMF+(& 8\&IMH$93Z4:4:BOIDC;M)=)=3"TX MU$/JS#D(W:QV8_8+M>&$GI[$+\.)@.[#?_A3 .@=S@0%J2E<$VVU9]F>5FLY MKSTL;/U$M9Z?[- '%$M_-UO_X$^0>" M)ODYXPM#30I!("S(<<.0RESA\"*9K.;R@[2$,>& [ A>$WQ.: "HWB'E]YTH M((,<-/F/7,.(B@NYP!E[S"1#:\X(N\>NL7S@$B=VL-F C7,F]6N/M=)P!%AY M /QIO()Y#@8@JYZJ7"?ODTJWIK=N%X$G<(VR5H/"J%_? -5 !8+,/U%4ZI1< MVUPW6[&=%J5KYL 2#.H<3^&WO*CJ3 5#>&- G< B)&0 M.T2MF3@%SNI9]_YE@C*PX2O2N,G>E;Y#>B#%+7('D2>FC!8"CV%4%>;8&:& MZA>FR^;Z/WCUYX1+@D=)=Q31)5'\K+3&X5USEJE)9\Y GA0&@LX1Z4'P5$N, MT:E2VA_(Z@+]4W.\E7J&A,LT$*57=5K8_<=JBDR]8C:UEBX)-^FPANTIF M5=ERP%:/?D\WT8TVG)O&:\?[B=:WX8CV=C@6&*^M/*B1^_=RS)SR4Z;0BQ%Q M3%?@&S@Z#5@;-FT&;5(W;0N^FHQ=Y+Q7OTK"IF"[9^'JM^8XY)IRD81.(GUO M@>Y[LT3'EJ%I5&KTDY4'::^"%TTBC)I(#@BQD6;LYN!JT;_(N^@F&^QNE;[< M?H9NV:=O1/.9"DJ)UB(PU+3"&[7 2/<28%G66Z(M.C=#%M3&!0-;KVG6* M4""HA$V?"[\+!=Q7;AL,1X%(G;4:(4+I.@D+1@N4D\U*SZLKA[B*QRW6>??% M)U'(%PNL X1!?> ZR&XI,@^$A,6+Y^_BLS34Z")5WX0*@@5@P4P)IPIQP@1) M0QO&\'"2489SRZ1B.QI8DMI@\%-;#U.PN6V%FP3%3<"*[J;](/1=P=!2 __A M(%=QW P!22BHA1?-]LG:Z^]:^&V?PT:)#DE4, 3 (/BSM6-CS@@ARFD$7WE6 M0TNNBG^&AVTQ%PATWJ6+H8BO 5R\R\W=12;N\?QY_@(NNNG!%\)@93=]1R&( M-%\$UW42G6L$Y)11\%RX5"I& 8+::#'%(FY8^H4M3TRQZYH=!U?RSLC\$CV% M+=9),^&(5J82_$,AIY;'7M=/D*)Z* V<(P+KA;X5T6I#M')T"42+Q#V@YVIL M. GP-(=QXR*#OM+D[AAJ3WM+M,YE2_V&F"W4"A<++@C(28/Q(F O,DJLLUJ" M;DC:P .':@)) K,)**O8 N@6F/YR*VN$O]O&OF]AIYDZRM"V9:[PO?9C&DPM MR(;D74LEI\'J6F_B.^*EFS)R1\_FX9MLGT^/;6V ZFA="-*C&$^,PG99&;)CWOD;Z<@(;9_FD[T!N\?'@_&/M(B3P\'1CXTW MV!<,#YOOV!V9W-EK084 +! &P:]W?A)N[2J*:38-KXLF$6!6P1LD4?JO%(ST M:$I5!QS&X0R#'O2+L[Y63EO'9/F1.HB*@%^< (G<".@:HO$LCH(R MHFHL0P M.Z5LCI;LDT:.O4K(TZ!B--8(!X9@LU1"([8N6O)I2D)7(EP6,?"<6Z*G,,)<$2.'M2 <=R.K2DQ MEJ$/7^@N0?PF(S&GLIS%PZ* M\.6<;&K)Z/"I/B(>76(ST)YN]%V'B:IN4!V(0,=8DQF8)M4>7!T;7.5I$H.= M;-I/=:E36R6;:8ZFCE?FY&"ZG)(,25*><3 M$BYQAB]+JSKE 1O#-X2(( 13)6RC"6)'I*48[^?+C4G)X%_YM2)SX)5 B'T! MW?*UO$PP//C:R'_Z[J]J*M\EWRIX@7G#84)-7"0>!RJ;)F#,= MSJM>KF7>@&^J4=Y:E9E4$^M9_K_[=]TO[%&LV,:%7Y] +C&7K.$94DJH<<*A MZ4(WVDWXBH6N:B#@$$/% EF(5Z(H(QU)X4?ZXO;=%\].]Z /'1$M5H>."&J- M6:C+.I7D(8DM,'"P9J/2)?OP$O2S;,I5C#E^/5+?#YI$*Z-8-YW?+K7:S\I_ MV-XM'(Y^? &@.)V1 ,/3.QVW<1!LO,3Y'C#D#^/!N1G;JWV '?R4'\Z<&=0; M?H_^C(F6NY%0)KY7!]W&" S-:OU/GGSC;:S&SAP0+XIO'6KO PZ!^H$D/1$T M=/*!E'%@?7^ L2X_-*23(K$$764*Q0U*( ,#$XKD**O2E.V(JO^$<+)<]A%I M7%E! -K#U.J?;JXZ,%.46D:N4LV-R2@9BC*5Z"+K:RZY)ZR*,=::MFS9?45# M3L+A@A):,L9T4C8@IMTHO*&$KLLFT'8&6I< >EEBIZ:!@7?3LFX&"[MX6 \TU'2I7.9CR%,.=Z$^^#P M"_9X]2)%5J;Z$JL6-+DQU]-V- G0I8EPD ^0P+'<;XNO6(H2,UCI/P9 >9U> P'XB**J&L5U0A\Z:M2BV 1Z0%+' /2]8%ND,3(52GPD6%SM1B_=I"4*Q/L<6F'"0.T9NHHYSV*"2U]BKPK/7W4OI"UI\G%2XKB@=MKUF6Y).68UM>R$P;\\8]/"E;8YX [+K$_9,%O:E+4R PX>15,^%%H;%E* M )=!&M79]*KABC1Y2,\*9B9 MD>5)$R_@$0S/!T<$?T?#R_G*?\&#XQR$WYLHB^)HX AW&S..6[7(9L5\,T*>Q>)0ZADS4QVG:$Q M(BW8FG>DR(5#3'CNV+OM0#OZE*?] YO]7B1Q\.LR@ULY%:. /EJW1VDF<.X$ M'7QVA:Z'LQ,ZN6O4X524X/2.F@H[)[D1TEU(BF:RAXO&*K?=$^=L1AG5>#L] MEN@C40A6JCJP1X"F49(%4<@P85L3PA-*"IGNP$-++P7=8N6BZ;MM WO^*KFJ M$Q^D)W.:LD/_X60QZ[8K_5V;&?2^O(=V\Y]L?46FP"0'GLM-Y+[4P"I"![]D MF+YA#;^9&)>^*6Q%GITH;ZPO'H ,?EMT#1:4\2S-F @$R&)ORNW#PTM C4@\ ME9-:S?)*0QV4T4RY*Z91KQ2R@?\#_VF%"PMS(^D-E_M;& 1!\Y20'7DJLUC4 M_KFL%B:9[@=.F:"+**U^R(KDHY3S'+BX]:KM(5^!E7RQ*, H9K7NB2R95 4. M6DT"**DTD TY,X6:BV.Q.C%1FP>_J5@^LLR"1"%>N2$T-,T*NC1?Q1(R(/Q< M"9/ICCI3PL4J,[O,.<9O)P.[=C<6Z8QEH')&UZ0_'H/8H@K-ZB5 M/B_FJ.WK29G$243<9M0E]L+]NT[B2)O $GV21B!VOI:ZYL#/B/,S]I!5-/TR M#'DNW<91*A@I\LM"<&]D1.+MOD0H$L+7>':Z)<9WC95@C3_MK9-)4V"*>)F; MLCU2XP,<;XI%A%B,F*%R"?UE7!/4@!O[I20VG&\JGZ R+/(H/I@T[8B[&2Q^ M,P4<$;93-8)S=!0\0\X'#@M5Y"+H>_NZPIDP/Y-FN&B)*\^NV8"[=S +2 M:>\E1GZW&-;!LV!8H90+&[QNWD; ;&WQ#H^>M,V@ E0T7T,F]ILU5H)89594 MTA7141]\&D7-4]M9S)8\=13[M!>STI_FYC!%0/N=I6C%&:0"M#/SR9#*VXHH@)R^@#M!,I.8I9!ZIDD'2[WH6 K MELH#"_:M(LKDEMP,(HT<6(TQ(_LJ=55F>062B09)$K]05R#:'1CZ%%""!7BX MTN'/I;)@ >J3C^)\81 #Z,>U3F>98J:*Y#4,WRI.L1&#UL 3AZC5RQ[HT&F1!0X@TF(,Z M',BF$Q=I&BU0\NG>,ZE/,J\!3S.J^)YM$%1B8?Y/Y\+NTF6X*1YN0O;"-Y*2 MDAOH0F2NBV%CW]K?[3AJL9ZD(I4LHLS=A(8>D(,YX-D#F#V(DTLZ*HH96&U+ M%F$T+SW<.H?)J5C,/P/)/7K]SB6^A;(4/->8XPJN>!@$O[L*)%9RN_^CM;X, MNK3%!GP PCIL<$VQL8YE@98T%-,G?J!6^S(4L4"2#JO>Q.$P#=(69:BEU:X) M6:'3Q/KHG78(Z_D:%Z63]0'?TSW2SU'9IX*P6\ULO\[/@K"LO\J4G-,D5-EU M4N0L^1E9B2J5<]-R);6<*U:'J5ZD^ (W'0@$T5^Y&Q'S^TG\LG3F&"]A2, S M]\]B5+J0\.A;L=ATQX99D]NZ1#G::H$M"QR1:I,@3LXE7;HR"!>+BP8MP?G6 MC=6.#\_:OK.;S'C*MMRX-1>.D 8Q\(?N&4-8<=H;$T"18+'Y&2!\LCY,V"C0 M,Z:!Q%[V.I]0A%@VP'811?X6T9(%NQM.GZ38R*T1IWGH>]*2$Y>G9F2LH>5C MGK]!A/.S&;:=^4Q33#7R%:82<#ZF1LN1\>20IT&? >",0J# M-U?P[=#' ::E_1-#&<$%^",@PCT'866%U,(5&L,5W9C4Z!)W<;.DF.O,S<%5 MCF<)FXHQ5BCU1'"4#""A72,MH34H8:.11!)QQ5G 5U*2AG M"KMRR%%H^XV/5='6LJMMA6^5J>1Q#681N8VV,SXY*=ZDO&W+WE#C+0IT/M=L M1QK;KZ4<4F\:[D;72P>S+;$<6NGK=C%%%Y;* M,],IEE@L+A5"O@2?W\*_V+L0 KO,\G)9VF]26N#/ M!%[)@F>]W]M8TMN/%^^#SWHJQ;ML.@B#WW&7L([/@POXUUN0AM<1KQ@?_>4* MFZ9DIL4_\I2#%/C+X+W3HV-"RK[3Z!PJ,:^/6:A[@(WMYA0FB_$-&V:@<>O9 MX@<9-L=B7]QEEFCTY8PK6BEZR#Z] S[IE+;RHN1&1)>4*^)P!!U9,C5!(0+, MU(OTP#+9@K7J0"QHG,4FV)7K-9=3L.P!LPD,63=[&\GQ=6SXZ1A*>=N]@M<@.?#=U.57@S(MH MC?F63I8&8G8U4>]&272J/Q>PT+D8:3$]0^?%+P$,^$J4%/H-U#5DS8+YPX#PX#=?: M%@6_XPH*;=P7,U*V6Z+K@PB7%=A7=PR @Q"))T5].-,EX]:L1VV^#\JY @_L M4[J[2N>8.99L[6_O5[I4P@$?%,06US-=![=!K:WFDZC0X'\4FGSC!AK@-C86 MW\1*Q7,RH2]3GS#5.-539?K;;I)*+!(RE$GT.!U!'.W1LMN*#4SXIYS,1B5\ MJ1T0HD!B\^U8\DG&>@/)F+$+<%%@"('8I:HO[Z?!*]@^^B!*5@]'A7XC/.$U M5K@)Z .GM*Y5:?<@N/W)AI" M2'RSQ),!5%,0F>;/UA91 2XBW4 RFN6Z*:.DP%59AU4.) +%2"#JO5-F_?0%DT=DNK=T*GID[6J1/PFFMVQ8E]>0ZGA['4 MI6G?W=.]6LUJF#$_^%0O<@T0I57T=D?#JM$_(&E+;3_DC+L[J/FI+65.!>=@WT2K6H%&[WQI0;NFK$PIEKV-+$#5J]#W__Y/)*?=,M= M;8>-/U[Y<^5%R^>JNLIC\\];DH'W58+PO!R:QI"[S!X<'#I>7<4#K2?+U<%I M/C5T/D(BH!BQN'C7(-)M-/*F(S5E/=HT45&QE&\Z3Q8LQNL1:PBS4#<\^L4R M_MPUOP5DS1R!54P%#N!+O6\CMVR>S+:?J>9G(Y :P0;["AGW:R-GTH19\XY- MK'W\V+/(&TR#P5O*NG- 5KHBK)\G)0(XED W=E&U:*BCTXVX!19;2@0)$SF) M"39Z&2BGRL"#@=H\Q>'G;4AVWH_*W7$)[:-RC>^YY/X6AG*J%W'D7>00*\]3 M[4."/YWGJ4Y*R QV9E5WO(W'J/^ND^E7G(>1,T9X"$9 M0*;>47W#3$6,;86&N:8VM8Y[\XBHNPU+(]!\OE8&(I([D3'/A$(=>0+?0V+= MA9.2&58][9^<]O;RNU=[@Z+>6##6L"E-KF;I^(E-"Z.!9WU#61ROBH@MK%_P M&3W#/#7#N*A5$0^1,0AH[DP2$ V):7=C\$"#S85R8660JL<[^^D+./$&9\8T M>09B8$O&G?%08DD-,C"7>R\V&7I2*9[2&&&T[6M-,9Z\G%TEMTB**^YQ>IE?J%]*3N6;7^RNB(IRUH)1*N](H$T MPUV\:V_B>OC00Z G/$!E1SDNV=@H/@CU4\ R[I<,P!!#B8J]"C,<4[Z+H3KNCZ MP=S8^3=;2FI-$ )-G'.!81=]2*X7BF%P>==O -)1R:5OP89AT5C4W)I&BX3 M8,&H,&%WC>F$HC-%T"QIE2:Z.S+7N7<4H?'$N5/AHH%RW6X<%QWW*B(05IOR MQ%M9K]S:% O4*2)N.&5&,[.Q2@V.(:W$KF0.D4=Q-X,7[39<$'*!FW2.%=SD M3-^UXD0ZK@S24,LD;[>U0>L%!8C-ZFAB0\FL,1 M8D:\.072%H7!P^ "S)G_=@(([I3*V?F,-$"C\1D]\6&Z E9/,KSU*!D4P"!% MZ"9)%PV/<>L=H!W4> B2O]*[Q$U!)'=*BG_2TGAO XU(*' MMJ7_9AL\8-1H:4\OPP\?3@6[#S>M*@V:D7D[8]Q?!F^6E;NEQ[B&N(ANI"84 MI<92P^IPURL5Y] X,9J47M4&% ZM6D1N5]72%!TYI2M'C A[@8*/IGYRM3[4Z5HM*7C!5Y;.@"\JU3IZPY0G-2BI3,HN2HT?T,XR M&J4(.",*=>R;9AP0(WW_YKQ,'GL8=OU"0O"5N-^5@5M6DL_,/33[&4T8BXZO M"SH)L>H=AWRP14YSER_@=,K!"PUU.>.R8]+TLT9HQ+SR%-3EPT1B1G=<7O# M@:$=E\-N,9J7%*C@4*YVMWE$>%'D&C-'8GX.>(.43&=*6JB(J3@>;#H-M=RO MLZBNKG).HD:)K.!7U#HX,:QTQWA'=+G)=1_;<%6M7= W!?US2 M(A:@3:F&UNDPLHP.8KP!&ZI;/%S('RXG:MP1/X@56L0'.,50'XU!](2ES^"T.3A;K&H-#PY+&VTF?62K#5:!A!M, M8:5D,(K 2^C^4K;>=81D'9U-9,7QN+7:\TN("PX'CS4[^L78:<<)&X MWZSA /=Y^V0$6V!^%L*. UCFR/(5#V#VCM'%@YQI_-TTF:G""-9U,5GV8J=7 M:*NGX'=D%%DSX/1\=T-S,WU8+ .FIF_JBJ0-VP2JE:"ZGJTK1:#5@Y+D UJ*A2VX]%"Q] -UUBZ&XP+AY8>H+^9N4GN^\+& M?F^4B60ZFC0O5H6-'ES*ES8SYVJ;*JG*<$<1_#]W4OJ$0(5!6,OU,5R8M"*, M!@XZ2()@I5S!YW/-)]+[ZDG&LEXLN'(S<;YYC=:F%$F%E.$],%K0],70G2(T M&@&R=#7?TNV+<@8[&>S[=Y\_C, )&Y)!Y+PLRPF6_;+&;;!VG@C>#;&#_HQ+ MXW7T.^)1?Z+4"8OE"IA4D93II!^_53/A1FN/=;7.?K!:H./%#+Q8/!S':O"8 MX4(]G+>V^)@2.Z)@/#E_B._#G7">;C554KXYA7_6D0:RBB61@"0#-E+NQ$:^ MBF0/'J ]N+20:9L,F%;#0A#B40OCA)E60]"Y1P9(AW80%)K/IOYQC._%R]P7E#[M)9' M)HP5_%U(L8Y<3&+-!&T";0WKL:A% 40AN(H+@H5#N^'FDJH%7M(YI&5-"]:1S=FE?XWFSS&+=4,J&F=E-/(0.: MP@J>:H/6!7.8%]N9IE&"V#[(F9>.)G1B/DZZD;O>30Y3*JXM$H&;8*#F)A?I M0'"Q0F_P3P,JSP M[[P>/0]&6]AZ'N/$O2^^5.-65M0)^&N0"W-WO#G[W&SJN^G$H#'3TV8?K05@ M_1">/;R'V3/45QP9Y7W!#2VE+1RN&MWH*:8QW"%)S JFNY5G2WHU66:.JP8P MRDJ";$3:'B&OM[T%+MF>H2+'HV/TVZ$1@.U4+'T,!Y+ MS5]0Q9PE#+?_A18[CK)U* $+&4B;8_\XSHW1RX]*[IQ9ZH8;DC,>4C^6RN' MLL($U)S&1T'X(^%D[E@M"DM]F_)X([.9!I-$E\J(1I%^&2>Y',Q\CEKIWZ&W M/6U,T /3<)[4B(L^D^7F)7C>O-584?Y)4X30_L,\6$>.AD>Q:\F9713-^ MMH9\<< MLVP[>KD:J9$4V9O2D-O[I"U<-O=#.7TNAAPV2ZXAFUU3P/;YNND#*H?2(A&. MDG/TCG4 3T8?(%$F3V;A@"ZC(M9#Y=Q*ZUG-TR\B=X2<7N8@^#U!=]S(WY;U M"^6IECM6EX52'F ?CW[AAC$9OZN6@87N)T7E\:9- CH5ONYH=&9N%B,%F@RN M'Z0#+#1XFD?UX%/0I^ @O3C4VBNS]T"_WHCL"6J5FGN5VC?O&-ZKSVGZ*ZX) M*08YRV_D *.KC2P/!9M$[#4!R7*Y1#X+S<@->(L='!.:WPJ"27D5H4T>><7- M4@*&M38.LK:>HBR_1#M_06Y#*, T(MK=F@:GH<\9TBF^DV.=:[ /BZ787I]3 M7=6[C1!M$RX/ :?8IV2?7@COJ!#_5#H$0:R$\^,.T'YSFE,EIK62WFS6XG-! M+\^QTD@S$ZZB$C :\;FG5SEZ>/A2\FSHBNF?[*EJ,]*G4'IB0\KNA)3NFA#% M*&NVC!N* M>D-E7R4+VN8*':'M./5W'(0U]S_<8 M+/:+F2[FML_KNFTW(^4REF%'A)A'J\FM@\A3/7$$WR/5]0A\@U%OPXV1$6J! M970F0KUSJ_Y)WWQY+\V7UM(QAC,Z!5*[(N3?JOJRI\C]4"32C288_,(Y; H\ M(U8KB6Y+T:CX\!4]WEC#GW-0156U):*^:B@C!74UMLVT+>.$>GH_$;W=^1U" M^Z5/[GE.#0X4VB.=+94#C?H",_+#H:XW^J,P MXVP?9D?T2R\_AE:FHFIWBR M],$(9D[CL,''0%VYB*9?HTLW8">N,V<_P,U168G4W&I@8$_.^R$G-K_H(E,G MR.XA0\GEV0)&-*.5A MQOI!_O G-^WMP@][8,P&=,RZ+W46E9)2ML#&1*3,%F;J&2^FYTJ'#'SP9_>S M$!'[DU3C95LD33V;$9Z<\G12>O85N#XT XH3=+K^JH'4X+M%UA''L#T/C)%< MGUFB&71- >P->*-$(XY<<(8OY6B"^T8B1R6!IH3BS^*7&6?,I_'&* MQ?)?GT>>Q@NUZ-%<5'%HZ89A8RQ&X+0Q<;?TBL^,@^P,*J&H#"93O< 1!<#$ M@C?/#AWC+KB*&/VC("_;(ZGW(VH<=S+&7)97P<]$10DZI#K(9P=F@90.*:6? MT7*KC42&4EFQ(9(DJ2@;A?'[G%93AIIWNLD8=P=%]:)4,D/4G*0'>%R0S*-I M@G[S6@/$3FL5M0O02WNBXSFTW=\:@+9]2IL'.FQ-J55 ),[I404@SU8Q&/.F M,IPOO=,]9&H-N1Z$JLO^6JE)G$0E6"&-=I\TH5DN.,>7RWU3[!B8UUGB#'[@ M3."&21"Z; *#!/$*;KPM.E\] #\BN#K)5TK#G!D1E(:6=*<>[0O?XL8,.6L/ M&:D1=)22 \'QD+)E/'X$>70*W+RZ$#$OTD2+SU*UE3 (?KX4T+6XT/XIK>\O+=K F3 MDW(O*XD6/1VR85-BZD:R+&WCKC#K;V8K%(HP(8 ![7 4+)_1AR>QGY&Z=US&D[;>!?:/NT MU:3*XB7Z[M7C10RQU9'94/"(C-(MY^CZ+,/2T1E!BU-)"(6O3HV M[=WKNF$+0;1:3):PZ+- &;/0A[3,'>2=/=2J+6HJKY;!Z!0:#/8D^^HJCEX2](-?K/X2^O/;#R5NKEQAKTSIL*"CQ0M\A% M3&MA&* 0\8OW1H'7=QI8=8>\=J8Y]$^#NZ3IQ_2+D6RV'6-H(4J+-/>947LC M%>*@=V%>0(IW/E?%-%E3U,Y-NIIGL;30F/HFH""]/-ZA<%@-%<0UCWES$E4X M5R!Q,9RM;8H8 !A@L3V\./B&>H)0FX>BY,6&P%U?%FX<8KHZ@5"89;XT[(=K; 5=<%R@6"\]1=*DYG5&V+?7?I M2NJ:U#956+HPO:W7Q.T9<<8-.F:R_A$6&"/WYM+\C>I2%>[G&L"FT7VD7R^W M9EW3-]MN#MR-E:";'^BP?&"&*-^8NE+N]S&=4]PKK($)_1Z^9";Q?%/\G61_ MU07+ZTF!99&55P=N7!YO=*,#VF/C$&ZC(F4$L+20RH!*BN]RQ1Y%FME3<:, M#&3((!].D;H9JLXZSX;G#&5Q%I<;9$*[G M)$%"SUB1'8T\0+FZ$O=J6)VL:VN=9V)M'>/OM5Z:>@YF?)I&C8M"(+FM/]#5 MH4Z&TS0 >G=A ,84IT?8L*F6"]9-=FV1P"AX%D;3J+"-YS_S G8D!QS'-BGM,5#5+>D8)7B+*UD:0::QBL@HESI3B$0Q50:% MTP-MDI88K7'(P/77*)TG+>7'+3-5]2,9"%F+2"=\:&>1B7Q;Z:G'=QIBMW0Y M877#/,/$FQ>6^M[.2 R1S)'AR@!N'T8#..W,:$ET9=D@=WM6: M"MX*^HFMSJS9V'@45FBMW?3>-%>BI;,.CN)=$?KC4-01@A)ZMQ( MZ"BSPX=,+'VV&M>B04266AR')>05S0T4FS.MY'K"O68)[N=?::MO?:)KNZ_X M)%L8[O#>Z5>L'D7Y?&OOFPU^8:$+IQO#9@D3MDS0L'2ZQ*8'CE(5VO?CS/,> M=L\W 0)6NIZ0P<52-YG=LEM MO#-I[6[=<-MF#3\*/+#)NXI%$DU)D^-79PG*FPI[++G!/9;GX*+MRFSPV2Y] ME\6N72MI,6^FK1$.=F(N/(2/5Z=)V!9TP$ZMN4=IQ42 1X(W[S[3R;YY^]9Z.Z'DX;6P M=_F&3+/08(X (T3?Q.[0:)<46NCF =X6*R(YZV[7B8PX$20S)1H^@%$_4-45E5< M!];); 9W\=]U7D4N4&M51+$RKT.'02#4US-#7U717XJ''F K)CR'6=?.4T ^ M_BGW*YVHI+\798])M0G(BZB>HF4VQ1:G*IJFHNA-[7==$] MA1^1PF8<*%5TZ@C2(JHL?#UFE#'$%)>"$C)+>L'XJ$0"0\P=*$"E 0S[]Y_( ML?1(E_6$><+;(ZTA%$^[QO2?!/L8Q5=:$'48L:?48Z+JI-BSY<2K-*4,63!Z MVM/D,6EB\K$V$T_1/0SSJ'_7F-3H"?+8YA[-)P511M4FW!N=*#W+-B^\0C:> M(X.U(5/"P^,@[E(CU:T-NO9$?4RB@O6&^1YXH.H/_A$/OLY*'I%B,Q54?JCG MF)6)5DA;8\WTI+D?TE"19YH:[Y4JQ-A,0]_629_K;Q@@&E,)MH\)<"S$\W,M ML$49H!<&'_.4TL:?53%)HC!X!SN%_WFOOB73'/XW3^/\&OY "TDB)_IKJT&I MA8)FJDY4J:BH9265XS;];$SJ.//& QT5IIZ7*>.01M-*EY\0L"HE(TP[%E64 M4?@6UL?C2O1(=DI-.@#8S5X263)5FV\1DY(9A[!2X)XE=9<3F#K''J6*E$MP MS4E1M0NCCUMH(QDXZB# "; _-]4N"C6CY"9FZ"M,D-+V257;0>@(G.U85I?) MM10R$X:N,X(<;*Z(\'4&P>_VUW9$>J&NL11UI90T*&I]!FX2 8N$<8HXM1OG M&7Z#@6BQ3(&;GP5@@>N+.2/L#'"GAH&$80J6U("CT8WB9$HS>O#WQ$?82$;4 MIB9MNP8L1D:".],-MBWW9';VDMI$'H=B%VZ7F$Z"&? &W:/K5'@XD+JV#I>6 M3&=42&#:[3OA&F)39"OUB^G25""Y78-8^:Z_R?BQU-?$*W7?2AEY55WEL5ZP M;3LBNLV3+"%\0[YBMM<1:2:%;0BEP7T8NX 1K3G?#?//S% FX.2_ZIC'96-0+M+JSE+,CM@R0LQ44 *-TU1E,I/IE3^H!,MR$W@V_D2*XEX'*Q%3 M3L^A&< A4JJN6KT]7@FWEGFH?"YS*OXJ"39*QFY%L#.@%5P(Y_9$4UM;KFL0 M<0EQ$0G$EW0C4J%1#*8!K:'.#'@75580MD$83 L",:4<"09F;0L,VY/RMI": M N#9?E7L;O-?'J!IK7-:=Q)E7W4]IHRVM+58HHN=,IHW^7R>9SJ :_*P3*4]\B M$&^32./), GU<$'[J5W=1%4W.+'4M\/,'O\8?):;H']!H]+A,9D[-:EMVJ]4 M(W*JO]$;XA70_/_MO6ES&U>2-?Q7$#W3$_8315J49'G1,T\$3T/GOY0^@Q)!T MFF=Z^C;E*9RYP:GKMIU87W1?:5/%H.4U4H0-3XCHEQJ+&3>?1OE+3T2T%&;1 MLZI3<+/ 184:E)O$-LFU>C-TMR#9^_.X%@K,%::G0BI-!+ MA]&,>;[L"N.C M<(Z54 FN/T_$&*P/UQA^U4<@>!(AQ3"7@1;,=*U:)6':SFGJY5RE/Q(;"B#H MB*>8T7.),7)];T37-9"CS!,8@HAE3,MUZV5ZVSII8-=$G,<3.PE8\+!@M?#1 M"J=< X?A[8/377# 3.,27N#A@Z-OU'/'E\)R^+XLT S\8SX-%_\QOYQ\]F.Y MME\793WYMZ.@VYZ<&;X^< MS7L(YRV(L7;J?$!"KE1?*^WRHB.T[0Q PNUE2"60-&7%F9ZT=F%9<&._7III M5]E 9J)0:L*AP!=G)WA#O(?#G#@SPLE7:!3Z2?+<'#U4$6EK?C;H[$=1Z.M/'$:(X[MZ3S;5Y!)!E>!X:EI,6%4WE!".!P MIDW^"$Y_7PA0AVDRKQK+*\+*T6%-F$!2&0/F+>#]I8^(:W#8+DSU= AETFS) M+&G)$X]Q;/"YABU$R5JA[0V>U0JNC+Y4_Y2?B-'[;R4)Z- IU9FXG66J):_S( Y9N+=$@#'9ED2\G,9!88FD E&DP@0ZQPIW.NWR M8B7<:^ +-@I6(*RA300R"ESS18ZV!)*^X8-%*Z(;)I611_I-TR2)"Z:C/MP M#T+LR*G:S'W,@.SX??BQ1W#IEIPX#/DZN,0U_X8]_5^DBG7T%&V?U\E^,*<2OAX&1QHOJ>2P6"W<3HPO9'LR7/;HR[^R M0CS80; ,#5,2 2K1=>3.\,&!QRM4]IL,O29;!=+*[ (H#::[CX->4Q7AM'E? M2H^X[.##R28=W9;U^-OAY/6A[JT;9K(VS15/'R_9\%E40TL*R^:R[EZQ:GOX MB5@*I"0P""3DJ4A9^.BOA(6K!(/5QEPT$U80-0F3*-W'4X2&"AZ/5V83>G31 M6& RK\&&D7"+ILK1;!OC \E1+R10^&-5G"Z4:B0X3#/G4(/Q-SP"K=V%KN_T M>9R"B F+_()$ZN"I_<. F5%JW"Y)3X5;2?E%(TOGEC=F869'#QOFPQ1CS1^' MRT8+VG]0[M)/G*2I/W\E0.%N:;"AT!)@KS*:AWSP@AJM<0YX3M%*9PR*3$:E MF088TK*([#'GBI(NELUF:+3'.)V1/*7P7Q8AK'2N38]"$ )Z$-[H42>/V2UE(F+<4&84"0D(X ME *DX( ]N&=.!([A4U9:V&P?!MNL72?AIMA4EU5/Q!VUB)EL9MC M?Z6Q.TGY0.-8Y-A&2E#<;QE2<95GX2@D)XV+)WQJE;0=X"0@AXA6*:HI53T+ MI!0E9^6W318043;L0_GQ'(X;JEL7I<(3UW22>S.&W#1TQL_*02AGK)4I#$7. M>(\>L:,>?;#!DQ7M,SK==6VF1_50BX%76Z>(D"&QDAM.IP4@3*:)'F.?DHV^4$7'1%DJ':.F+\+NRSM1O>I=Z]B?AGMS26OX@46,;P;G1 M6D&^Q8$>N>3A"ZU#'UYP;6$E5B74>^(A?@R"B*-DR$(4FSBAK/86,1?!JPMQ(RCFGV M^=J**1A^@8KD=<36N5S*(#C<*)5MF)#OZP MHEB-*819'>@%&T6#G@Z,'Z=7LR%>8[N $P7_J3$,#EUWFJY7> J\!2VDQRU+ M#]20FB+3I!M8W&@S&4(GGA5;B_!2<64B%:Q8(>/_,$X MH>8?2=MU6A2Z0%M7<0>*XM)L)"U=^WS&X"5M%C#(%">"F4 X@J7IQ"]I' M0^4NHV#F]'Z9X.FC@QJ3]FD(G\4D)7F,JB4R6]H^9$T0()'Z962?9V[FX)*$ M/Q_ 7:Q+M^ I84!I70\YJ:/*2UT/[$< MO=Y@$185P5#;926"V!7[5F&VZCX:EJK!"B?XWN59R]:G7JE,IOW!9KY'D M]$9"@_Z)HFUD:CZL(^;1"G(G4WG4N/[Y;Z]^R2;?D4Z, 4J-D"=925E )9GE(PA<,U/>3<[^X]_ M.WKRX.FCHVSR\,'#QQB^\,.CC,O,;U$-#-;HT3>'1W_%7Q\]/OSFKSI486E. M45/0\I6L39F&9:1#H=A8]0YQWKS+T&4#"/_Q 'QR0_:CT18+ZFS>+)!?D6Q& M8WNB$96YY'@"4_#(>ZG20O-@DY-NT5Z8+@;6G#4ZZ1LXLH8X9AJ8%??]>4FW+:EE3_X(TKWY@ M-I&MSLWX"?UWBAJA["4ENK^3!(C\^UG54SH//1;YM%TMR;@0PHS(ZF%#'S[] M7E:M#?US'?I7=(S3)S\>?XI0N!P]G4AWV((,F@ E$VV;H;0-;<^P_O^Q"@%& MV3%<>LX-';>%?IG*>Z<#IT,1(HRNG28#)CGY0VQ=Y& M#TAS'=BA-ZEU$29?K1K]>7A]?F[*/+ARWUSQ-E<]L"Q T3#?O*80VO#YN_6E M@(I[XY^5A-,&O\XF;YKVTLI2G!I)OB &UU]J"*?FY\UTDT*RL2PD_1;.>.KY MEBYI]@(2[-?&P,5WX,C.\=&T@A6+.XC3^H[) ,7 LH"$V.^NC6-.L1N(%LKQ M097G2/?[1K9-KX>$HUN$G-#"4ANJ G[ )F7?#KZCMOX=LD,'Z^K<>,\>E\:5K"T;WNT/R,XC MK\V0#VG:I6.BFC'0-(_46[H8^V#D^DHJQTYND*!9;PRTS1>G/"W&_"Q\&'5= MP;C--,-B[KE) M[Y)1?LX:A^19(P/(ITX$QAK]+Q'S.)L0S"]J6CVEEU#WV0O\[ 5^[I[.O>W* MX)\MK2M/2X9TP"CP<4^K>\>S$D[:NET[*Z(4B-J7->G?H/;+P7Q3<;V?B[9_ MW-RAW2F*!98P=ZSH^:2OV\NBO41 %9;G^7G.^6D"G1L)*KMR0#"UW%TG@X!/ MI*0Z10FGBPRQ;^.8YS,#/L2,2724K>%5D[[)MZETS19=>D&%6"KQ <-?">0N MP9@IS9A6B9G?$S/+8L= M*LM8:5R"@VLSK]Z6Q<&\]-2[+-YN+$#2^R:%<)2UVH[(>75(DV]RAZ2,8 Q6 M"+IPQ;SR9?JE1ZY(Z4/ ^X:BEW2* [X8'S.08W%/@2P8*\0_I))&RJUUG_,J MZ9<=5:Y8Q9YOMNI'7I16*FUPHOFTSI[6 :SU8*8VF;Y?+S8 ZE8:KU(PB)$$S, MRZ: 8*PX*\-?L!O45Y%N&NV>>Z..3AQ?:$U'R\S/?=NS;L>]B+ *P_!LV[U, MS8N&L+I6#FJC96&3.%O/)*N=+#PAWL4)E !*S&L+MF]1+1D8S4V:XG=6_^3T MGZY_),QI2O7BNSGR-V/;3,=S?/!TGQI9"+/H ^Q3>&[+F*354>4/!L\:K%3B ME@L0!BQ 5C4T"R''B"LY*O]V-83I7E%M/27[0P>%P%W,.[&I+=^"#![,';K) MF*@D'8TJ(22!.H>L3F*)%9MS40X#G?#P2]ZD33O&X"F#H>BSHIP)024@BBVM MK[R6'KJ+,C(/Z#A]IA1+'/*\^#7^28QZUW.-[^"L7?4Q/.FC+[&L<*@2$"E] MFNFJ. UCC@'HHU-VH?UJ=,RBDQS,&F66#AGO$8@VR(P+0AL5; ;+D.6"$P53 M1G>0J=-3';UCP4C7I3@M6YB#+\_"<12CRXN6K(7?X)MK<@15%FN%VH48-SRQ M=O(T,[$6#L3$)"#_YDKRO-(<_)!?PX9N=]0%=OPX^#[.BPB0,%$T6VG./Q1) M&84+02FS*=-MJ7];EV]C4B#"!/<\.K_$#DPN=^&M& /K B3$=+.\CGP<5L(3 MLR(\1ZKD(JXD=VEN'"XN&F52\4C4(0X6SQ]/-1!6PUF$V:>J',PZI,HJP55: M.L'62":6QVLG<_Q$P<2\WE_1N8Q[*_PC>9T/UL?:WMM MUE?V*')_=:BC/4;@;J=./+K:(OY[&/,Q<6/54Y)JH%T9R_ :P5&6 M2R1QF.)4HI+#M-OQFG";T?]E+$[YD)Y)'YG'F:-)?KR^N3S.A5.)B*FLGHASD5R<7(#9"*2J'1S$H;F_ 2 M^2Z(>VCW?H5^78O]3. M9S3],\3EDFR#W7:@*.K$,HV3[3)WRAR.>2>[^D<9?LZ!RB MJA,5X6BLA!M^[XNS*$>NI +I=;=7#7XUR/2E?-/BQH@H?1('&(EM&TRA(JUB M;W(ZG&=5)]16@_$15$4$!(VL=Y\IPJ&2Z11<&"NV--G#:2I774N!G1$<'MB@R^^=NIOH-%F]% MVC@$52)$+[683!DDN7Z3Z&+'<>%3 V37FQ"UV+("=('2J^> 6*"HS1"-1JM3 M45FB[33A>]Z5BVJUL*SP64G4Y;3Y*QYD$[&G<;^'MB1Q?K02=0I7JK#Z)-4M MEVLQQ?DEQ(-9(!UF%7^E*:8(C=JZ@AO"DZ,,26W,2!#P-B8\2F1WJQHRYZ5K^5^! !R-M,1*4#- M9O8&D"3X@AJ:200.\=QG!@?(Y*B[3YQS+NZ?Y'_8^ MIJ350M]!)RF-GRB]2M?9N-ZKOW=\MBLDRYAGGCTL1N MCO"UA5M;W5M[!$?#5J&19U"?*T]:K[BP.$*X)#B?C.@G7(VA^%"\7/4L)(8I MX_"6)Y:MVD*!DYY1D#+S"<8DHNKK,!/,%4#W*]K5=$F<=?F,P8O.$1:@I=(> M-)H;,"(GWJ.,>-6N=.:.X1Q'-(I,?^ :YK-(2:C591;A,19/?LA[N&2NSOO M61Z'U7+S>E@!)-Q;]OV@K(VS1M>0-#['9 7- C$T"L&E"AGQN1*NOF ]"DK) M1'T#@GP1&R3T!XR0D-V)RH004F)3YAC8=)N]F9$5DG$::)Z#(:$97-7Q6UQ! MY[RSTYRXIEY#Q=O.=,!':/(B5[F,BI-;CN&-J!T/J4155=NDCP1,%P[(\*;0 M'68M96$G'6Q?G(O;;9KV=2;HVQ7+Z1F:DYYIPS#IAU'R91S7EEX?0A\.+^]Q MB.;0N,ZI"!A+7X])-_SS\].H97,K5-RVL$>A)2_1[2UUE9V"TLTT07?3EKT# M#P.Q6<0&(T=3LU6\>EM2U8TA'Y/W&N35<&0X.?H20>'#C+'N2ZC[0(XLGYS MR$^.5<]\\AF9?N$LHR]M?$*HM3X'5XK0/X<8=87FFW$$).<-0>") MLG?-67Z"^^-T)K@F6??PWTRU. !FO?;#=-__>OD3I-HG)R3P./DN;]YDDY\/ MCP_Y9$^S(/DI?!\)HO4^_F6/3]W+L4\_^OZ*N97D/P?D!R2_RMH]86Q1[S#* MKV!SA .I;O-&^Q_71@E3 4\-WN)3UD4-!UEP4VK7S+$ZIW?_]T;$-DU-(BLRQI, M?=ZD#1KV2Z95-$+D*,]#_SQ1!G7AH4UXKB@>\6JDY!V=\DW$%F620:#S+?P! MN9_3.$Q$>IJCBZ&.XH'(NT8U6X[;N4\V MX^W.F]W$""(AJZ AC5M>:G'N2RQJ!W\BUVE@OB'JA4+(G:P%#*L[E?IU!JI>PV6G3J6Q0U36TZU B*VVK@I)0]$(UZ!?8\*] MJLVB!AKZEN@P[HIX"(#14NF>/NU@LB>#YPXW3LP::8C'#A Z M45DT33JD6+[9Z/WE3331XAB_XJFP>:IN+^79'^_Z' VG*.3L?/<7026F89%Q MC39U%R,S:3:T@YHDZIG7+UZ#7;;M\-U]^7:/;?E0V!:$Y-SGI90-1 ?A>KVD M']TBRJU>32ORT.3E?JX14&YYO'>SC:G7);N6R):FC$9+AD55UN M0&N,VMJ>60DZCU.\@9=NIQVF.?]7-XMC#>ONF$63)+Y0O,A>0QA3*%D/8*<_)SR)YG^(.V[ MU9*E!].H0G=U\(.#F8>[ "0[ZR,JBE'$M\<)2T3+ MW--LW*R9U&\A96Q[CMECZZCMS.I,%^+S>B+P2.ZQCQQ:Q M$D+!U^'H*8_1$R>.I^ "F8@</!1A@\L8F0Z?!6)3N@-5DOK7;SAE[6T7I2S.D<^<;$( MG^ B4B&:(2)>MINYTW=CN4=UT&>VQ,2"QB\6N[N\ZLNQSU'9"?F%2'H%.8^, MT0\44AM0U()5V+YHP#U=AXR^0VE*5B^ 5X;CF3XN!8K*'N M7+@(^KY_U%HR6\H"DDQ$?^8X*Y(26!%'U>4RHR@('[I.MY#K2%'!TRZ;0QW" M-7: &8#ZB-?Z!"-5I;XLW^"3@/=MX(-:*W5 (KYBE+N8F+8! P5W"/-FC4Q[ MG%3KI9-[\\KNBD,US*WP%$:]-)+F+C.PE$4]R?NQ MGG7L-_-^HNWENK;>.IZ' ZF?6"J5M W5!9=>KP"[KZ1=&)ZD $!:2L=AODBK M*N$$TB6B89-?(]+*P-6G6'FBLSNX9'((NZ0LG#'0$4'FL'0K,.H4*@;*+F=X M&<,%2ZWCJH^8\'C&NY\8OWC%!Z\")/:@/*,S0@;(8&3!TRSK+F>Z+F;/(@,.H$LA MUSV<'-MV(I^"B,=KJ23J9[@XK.!LT_#$@[#H/=%$A06[0'WP2*@)[2B_L M?/KI"&5W4\L*XDY)7AP0)=2)]]+VU M*%N!6R_FGC"+XQ,^40ES@I QXXPLN:X\M3)O,.ZK&5!*IP#8EH21C-HFSN%) MX2_I?DKNBV>RI@$V-Z5'+]D,S$B9O<^V*J* HQY+%(9#^S;#9["R$-VSOA\? M<6I@F3(KXG1L[MINO H^!J[0A_1%HE0H8O12SDHFCLE(H?T>>A._C,;@X]Y= M/J/ B1T[.'HIJ50^N:!:#M='$H9%7X7A0F PP,H=$I:3Q&/A>]*J8]S16>(1 MS!."*#LQ,N_2:,.+/+;*L*5M+]$?86]6%AVO/YCO[6"44>P*_6&81.0XP839 MXC,>3KZWX]TCNB^"DZW;VL"&7?2K_?AO.-9^'=\S]WK7PR/2) #G"RDW-ZC=A$/4H'!U3 M J%T12T''HI#WC)=#N8Y>"K+8%JJBZIF!Z K398)30]UL'+DB0/$#9I2CK78 M'%RY%OQ]::";\*5YW;8%=<42\K\,CL59< #?$ 9A2?Q1I#-$+5UD6<1C!6W[ M>4>>)K.BEH)98$X]X#U^^9\7SPZ.OK'O08F:XYCKF_:.]-61^3$45>6HE!&1O&ODJB6EG;!*FP_.1,]X:HC0T^D$ MU'M1E&F?IJML\**75,T5+,UX=B#5$>)29X&\% %1@*])2$5!$"E-<;%?).FQZ)C9F?K7@$O+E\K(RMDX'VMEGA\U552% M7*&3Z%130J"_U9+[@H?ZCUY[W326X]IV,L9Q7XSP0GXR@=SO)F#=KGJH^UY4 M) S%QQ7R!FX6?:'4"\=1,"7-[8@]K'4$6@\ZCF8227J MIQ52CS^U83[%'PJ?/S[O@B]%O;O)AW\.8_CZ'*FC7Y/[O4@R:H/(3;[."0:* M*5'7PB%^D[>Q-J%I\*;+"Y65Y&S!0EK:60E\0"/MXR16"Q#,RQMMV@E^;"DM47FN" M&[%;9%R2^NJG0KDT3B_>CD=0&\N"O5)IBX#3"^H)Y_9:0S>)-8DVEM\\,B^) M-[-V5=31BT9?Q/&8Z%5[W:6:D$IZ@"BYSM?$HYS2HFFDP\=UR;:4,3IER278 MT+; T<0-*;BED5QD$[9%,)'HOG>4.V-_3+7*N]BNL;T_E,NR0%CE$:==?Y/3$ M5%6EO*W _=P"SYB%(3P52A5Q-U3=;+6@LC#GV$0SA5]#-5-&]E-Z-D9SYP26 MZ,:G-E=N%R"L70F!3HJ<8">MWR1"?,]QZ8[G$ZY71\+9''8VE8PSY9[/Q-[H MO..H\A5K0%9TM^3Q_(N.^6X.W]4^;KT\@PS#I3$2 =@5SM;JE/TYZ,K#Y_3. ME1H@]'<5+F#.E!S )6"V3X5B4$;&?H# "6Z;TI_.TT F)M+)F6 .5+%CRED' MZJ@%E0U]],Y@C8&31(\N)1TD%?X(KFX?A0P;1S6H:GG!]TKVJ#&7;K4Q&(!J8>'XZQ\3:&'TFQ:_Y*LE:,Z4@&VSMLHX.N M**31%)@CKKJ'>^!W$3*. &;?M<%DJ!H9)^A3_0GX!YY&2 MU H*4'0VDC]3UW%F**XJW=1 9K#LD77'+RL%X]%?VKZOM"[?S""D-7XUUE3) M?9=WE#7T^SKCT"U?;BKM.96^MN8WH'$AWX:=H/)P\ISX3"I!RR3V(DT]\($+ M=*2V7S/,;4-,$(L+]2@.2,J+BC.-;QJ25HX?\G1K*,\NB(R84T5.=\+$:LYI MJ2^8.A*V(0\1_3I\S(*G;,,7B5FEU(G5U)/S:#)S24X[.QY&[9/G=/.8>G09 M7(: NCP@*0::&/X7:4IK=P+D6IV:7UYUFD449P1$D@FKCS;TIV%W?!SM=$]< M'540 UYE6;?MFT]?U.FUD/Y@VB(V:?S8\NZ='8<"RR,,UY)WBX!@)1:PO-A> M9^A.&S4=0"FF09&$:\IY)=A*VZE) K^-2?E]]]X=3II45";].ECU4\'?]4OF M,HVL"Y'@6T-/D&8HS3%H5R' ICD^?V[D*AI>%ONYO<.Y!93&&D7"V4$.T_"\ M!#QZ[><-0*NZ=@)T_-7]W-VEK!1%P,%##8X?$[>1$S<4C.9 P2<'HU\'?]D< M)B=%_"=X?^5/5HY9KQ*#?!*8[U?C_-.S3- MBJKT/=+;91R 4T.W<'F:S]811P=$?LN[/5T*^_G>J?F&6C.!!G57:V5= "6J M@>+U;K9,X*1MM T@G+DH0@FPE'4ET)_F>UJHPIL+!,F:5)$%H&SF+"PZ9&9E MF2'7[:6)8F/$HBU&#(E4;??KZD[7%166-E"GA@&(J%1FSDN0N-: OY^RN_33 M!L"#K1"Q%./"3 +Z-T+8-!!^HQUOIF($DG_;J'$_XQ\@WK>J'0?[,;LC=##. M(W<=9,O\;48X*5*"#3^0?681U"GU8(?II-*):YU3\&4^IWYOZJZ;B:DGNNNT M)!])(8891"GC[Y?(1W/[HU1S%H[:X W$)@ ?$Y!(U:#1@.U[5*[:^WX[,+>B M;!;)F@PQ0^1>C)<1_L-@U8U.8S]7'V4? @0)5,\86G5/2OEQ-L\(.[1ME$C1 M@38(EK/L5XN%-N^,ND"[";BX)6KS)#H+K@'#Y8DB^5(7\<"N05Z\+5-TG=M^,_D,Q&(^?[X]7=1_(:^_OKY"09?NP<9 MT,^(?&[_#T'>JCX5Q;GX$$3RV;7AR9F(=>1=#B?'XGJJ3,752V@6ID64$3T[ MP5 4<; R% ])68?-)814]3S5"XF0LFE)/C+G3.1!^]AB=XC)3UZM;5HB/(I( MS#!L:^D8Y&WUG#TF72\ 6UN7!+>5%- M_:0;.,6]<<-R%\9>69/Z9654(<*I4@LDL0&?5 MV$W\7^B2M"LGQ,18KVU[<7>AB42>$S>>0;!YV0/YO5R)F48C(O,V]F=DBGFB M6(-P5H,#<#XRV49;"+@,SW!\/".?[*\8E\/):^:BI'Y7NHDC1M7X2X?P\JQE ME*HMR+!85O04E\TIQ?.]0X:3O97%3BM9QT,J>*Z'2!\(W)F#)I;!@(AD*0\) M.J0W'[=W#SQCO!C T]2_3"1RW%FG;:*Z!M(78EP_AF3X"&2OTKV3/-2 :RY^ MO8^? XIMI[?7%AL&:.RKV/#V@W7NA=^:LN5.\ES-57;VYX=K8*:J08TK=8C/-K/\- M.5\9F@'3S\#=Q(OGEY;Q^:T!COHUM:*(VT7%QO,:,LOAOF,M.C"OHU*K1*DG MT\?-IDA42SMI[(&4@Y4[59/KIY)?;=KTFO:."\77.FB9=HM73*]_YS*YLMJV:V(2B[A)SLK\WIY MYE.MGXV^G%(*)#1TX;JP+Y51K+IA'(3/L> _DVF?%DZ8E+I S.RRBCUXY7WKG@6 M[14)YUK7KE04$,GSB\C?Y?*F8!_ F$^-/<@ MP5M0?^W4N1 ;G>>TF#*B=X/A)(Z%)NMJWF#]+CM%.C__U0"EC/7B;NY^3]AD\"T\E>"=.;XPX/]2#+((@[W,U!+3L!UP2E;+6&:0GVX:Y!'L0G0+K(CR=(3P MY(]5<2J:O\1G@!4/B_E'.%\ JJ&FQG*>Q:VC/?U*DG!U\Q]"6"*Q"0MQ2E!Z M;GN5?F4==7*CPBC,I#V.'+GM7JL*1.^LTWI+O__[J$GC58_@FPY/:N\E;7-R MQ#ZMIS3#@G44/FW1)G4@Z=>?=I67IR",>X*2YWN.QN#O]U/=AB M*9B/6+N F<#?)'*]<7 >-@VT4*44DCR(2!+'-V\(%2LK>Y@9J>HB[Q*:&IO3'<2LA#?= M1H>CL4*ZBQ">B_I,IB;-O"2KL(3\N]* M:C#,!<4*RBSB2/,[%X%5P_OW\!YNRPTN[^7L9YBVDAJPO]\.SEJU@7$E*Y'GSX_U/?CYW+:7UG#:U)W4X,V11*(HLH/@M)=':SMGG>C)&3^;/JR0 M 9#29#(.T2N8@T2S.? .U'RR.K=T%<+6CGX9WN#1D\=/'SX@EO9:J(<>_Y7^ M))F;O&DXXXQXDOB5Z$1D?P$7I'K7G)Y4KHYZXL936[DBM<,VQ@X%&'Z]ZA$4 M7L+G68='1U6"K4UBX((?L@+8G"J$%UQ62>;NI%TL*D" )Y_1'V3R7I^<].GL MT6\XAI@2D,V9$G9_+*CWAI0)M%3PVU$*_Y\L()43,B*$U.L#^N]DFA./QW_\V]&3!T\G MKU?3GAS\<,/351A\6NL8DN>_16O>PVK@?)6')II#E?C,P:EJSVI/,%,Q&%M4 MAN8X%^M'M9\%9_L#7BRD1E:3[V.FK,?_OO26H2F$4.N=5PC*)7T,\(MST/.ERB9I^S MO--55Y2-,&LVC1R,^'PB>YHIVOO8J9%^46CX<2RV5QN;AOH MP?;\.)N\#H_PS[*KPW4RC>,&@R/RJIH9ITWF7+XVM5+;+!,GE$\KUKNW$T)( MAX,'&AS>-R*RK?*3X22?32[(?7%DA;K1P)TC(TCR06RE,]O0?'.PR5[]"!,E M@1KAYPF[+6,]-@XH8&^Y$JUZ;;+*[-P"?W%%+T// MEWU.:?,DLXD+:0:"TX46%^0#]DU1RW",E+M)&A2R*^,K\W.8N M8PM:"T+IBHZLO K0X;4$T#()41&6+,++1$Z3:3G=[D_:3KO)AJ)P)$78)M>I M <@[=_>$ZV5W M@TPW\9#Q%G6?.T&:-=B.*) M0!F5NTA@6+@V4@6:T$BZW.=1+]0LH9YOHXFQ\ WW\&8@TZR42:+<_X1*.?IJ$B)<'XH/I6Y"Z1 M!43#-Y8:^*\\A*3A"#G*9.S5VKL'/5Z&4Z8IUY::P"&/UQ_-LS*M9Q)"IU5- MG5!YMK &$@0G[1,*M9)'>Y2QZFE=;]Q7K.J:Z0PQZ(02RQEO:J?DM"W$#Q]9 MFR[1'6 MP_@=3GZF)47IT7;CS>Q"\I@;UHSRHN62TYRH9\39XNL_-O;,\(\GKBJ>W$=L ME5"$K\]EWEH?QI/?D;Y1; M^K\C,\107PG49.)D9>XKY/>U0DZ[*H,]R?S:$Y"(6+8-*(HE&0Q[@HA"Z&S7 M8=4S&:O'GFJB5&&2C+@:EL>[I$).R9Y!F.H*A;VG)/>GVM")',W\YV'KB>&^ M;+M:D_->RA['Z9H99^62&E-%V#ERN]HN*E$E^^3>NQSUS[V 49CZDHZS)4= MG*%+BM#XC(I@ M*+BB2$1%,X&UTN@,S ]J,2*HV3 HA^PP!U&88DH)2((<(SJ,L_2[LS!P_RSC MJTQ*^DH(WACLMU@U$J8/@'+EY 4MVJ:D:CJEU7Q-U3U8;V^Z[?580QYE.0[P MIW"FZ'-"V;UDM8-PI-*Q:0\O_.#DGR+(#%^B#=(V-?A!^4:XL,^YTZK'N4G* MF\,_FM=(9X+P)XMLJ1R4P;0 FG46W(_@TF%S)&/KXR@=AT:* W&4+\MIL+RT MIJJ%DYL9>0KC'[0 V6I2^.6U$^C ^ MKG=I+!&Y8%#S=)U%'RQ++;.WJ-;OFV9I5OS"K NNV7&&)K3&X^434!SNM*S? M0P--I8"QYA^O,O0%8)R4,XAH16G<,B+T<<#7%A6IQ$1*A68S(4;AAO6**#&E M/Q;81 :O3)1HG$L]8"H(LV#IN0&H.$*/!8^5+!4YFR0APHF/ 15*'IW %.AC M).=+OV(&.-0/NCBR?VEU;,#ZWFVV[Y]=I.397$!(+8X- &0*^Z4#:P_H4HIR M3G/2*&L&1E?F2;A6"]B*UMF-FX&8$NA%)BKSXK:P2/7 #_A<1*='<%19:F[C M$QJH< N )1N%IZ3(0*L!WN2]<*\$5)*B0Q+XHE.TU/4YFD>(.*V,D7F\7RRQ MT':;V"VWVCGQC-QM%/^NR78 RP_%H($(]K8-LM',:IC9=Y2DNX?;Z?=2.+\G M*NM!7,*D;B'"MJ6 H"@!HTF2+39O!/;TK^V>S%)F@]TCMXO9/<>3Z IHF[7\ M3!W1:-@'1XX4#R5.+$H6""M]? BS+[HFXR,1!X V#+<8-QLGT/@%,O?M^)0# MBD\"G7+9J1C$O1PHQ7U'F5)M5N9XMDL>E[<(:V=PX2>* TA<*W4QFA0N-BM/ M'/]>#GSZ!^GMNKU)(:!VJG-Z5U$RN[E3WJT'S@%A$H,H34<2&?7:_U,DG/RS M"(6;.)&2\?F@DX+$2RMF#.\T(I+)874&>1H^6Z*<406Q7,[8EN*DZZ/MYFS< M5!*2,R7)/&Q)$$@3!1W+JS2+XWP&ZP$2GU.*7_AJZ72NZ&0]S1OIS8)$]3*J MJ',XZR5&$*(S2+\0LA1S ]P*' M/8:"#268H56D59E?OC\^L:J,*>2D"VG;J@S6^JR:5EA6<*]1_F>R!5G4B1QG MPO$ S\;01''\O&)S,I9ZFBC>\ K4C>N 5)BPHH+C9I0TM0Z<+GOK"V1RS%23 M3$_YI.]&#@'Z#@N5MUU2LXE0@D0TA3WW^?(R)QJ)7Z:*;*/+Q9!J\#!1)Y(K M(3PVJ+OD7OFX5SF/\5:,U&.C.T*G (3T;<^*(%QI2D72DS PK-4%]VK$QK,H M:LU'JO5U$,Q/2]._O>G"NY;;IJP=Y 9MAF0\1Y8CEP2I/#.]NU?MN8[W/9HJ)_4<#O+ U-6%5^^(XF2,5'^CM@=!%D0O*SB*L&B+8 MJJAHQNW.5(BIJW^L&!S)RY_S<"(_R+.YUG/53F#LQ9C( Y=!,E3)H& 7J%^G M66 ^EZ6(K0VAJ,4F:N2*J;1SC%QSHG_H!D\FLY?.&EV>H#6JD"H6 MS_.P^&-2GW"D*?-P>\5G9P\US?EY\+BY#\!<]38 UJ>VT3P[\#NR"1G^./C2 M^24E0??K[=D^EL$$\0=PBTA'GK8(KB^J\.Z&93*/0E0G^<]#3 NL4-6CRHXL MK2CUI27E 7Z-ET"P[5)=6 M310*91@AE@H63-U_X83?:H0*=[M MI!Q<@L?"9/9630ZC??_6$N5)DI!<>]4B]C$MW\=JLS@6#%/OQL(DI="A"L#5 M7:4?-*K>EVX__B)\/_V#(#:8$IY*.HL&3 ?1..$/BY: *W4.0Q3)"[QAX]_P M.DUCHK0Y-%6+)M\)Z">J)MR_3;\9D=I&UN#@A,=T\M*JP\=<\C[ZYJNODE:' M[QV<+(L7*MH%&9791*>+JO'$J4G6E9P]Y/J/OL:G3PXGU(?PU5,"HXW"Y;^3 MJ]!3A,\(5DFT7=]A>4Q\\.%U73?]&5/4\FQK,3 D!&=Z>[NS/B-N&,,^ M2=E2>!^(2H-H9'53K,I>^'C[3):%#05[7Y@678D^-MM"B,<.G98*! M< ;F6X.[\4R? ./RK M"-[RC)"#0/WJOX@'A:E:C&C5R4WV7-V;5>>/RIV-U"WLTM4G28*Z-P!$[$C$-$SA=I9LJM7.H-(>!748:%R;TE M6=+\4W6SU:('Z!ZI2?+5-US.S;4/C+@&$US: )) Z'>DW5#KMO?2TM*X+7%- MZG,%$&/0ZQ#&E@+-C2K>&(EC"*MIJQ-(*1OZM#??RM?M9$M'\];TVY0_FN1L M6DHM5;GD+A/:\;%>[5:060?M9<,=?WFX0,W]/TEV+#;^G94U*R,R(?'%/[ L)50B2*\^KU<_L,F1(WAV8;.Y^/#^8P6:X#XTW!;X:!]FS9V6X3TQ,]+T03+K M2&IU[36R8>( M*:>^7"ZE Q8 #"KC_= KX$+Y<2JNFHJ*AMU]DD\G3V/A40^WXQ' M"D'FZ2D:\ C50@$$MH-.)]E18J]?$R=G83=8'52N.WK5J>::1J]H27.S MFU+[SC5;QA-TF7>'VO)I_I=X3K[31 'PK9P/F_GVF*J"S99"VC]6[3*G(W#% MQ) RKN"_Y0A,.F0D"YI4UT 2LZV$G02I2<$M&WE)?4>X%E2JY*95NW^2;I"S MQU-"ZW(81A##97XM<^6025P*HYF+110G*.V82O4OM66+)>.V4""!@RJ$!^ 2 M[);3^\]C?I.NZ6@1,V)G1+(@+H(M;5&O7QZ?,(5FS%YRZ-(#NAD36(NR.U7J MD!S?R[8LB#@;JZM8''ME89D-N$7LF8=(/J$V\EDPLFO_8%PDO\HE'HFV^-4N MW@==)#ON%/TL1 ,>T\MZ!L$.G$&<8+6$^RBH:80:_G>^>76 ;.!C)3)M7^]M M[[9TRG5I!ZZ7:\,"-ZC[H3)X"'66)\"JR.=@HG0.?4-P^?#"E'6?1Y\4I?H5 MF &"ROH)K%4-G1^RV%-H8GR,X)3@I>,T0V?#8S&T M1Y++;B=M@P*3(.@FC3:';Q!,##(_0LP%7;PET__==LRN&!U^BV-ZG"DS(3&F M<;.'?*-%?5_\OT7Q?Z<,E2YJ77P)D:\4 X3T,"XB]>LOV^X-S)>NM-$=>3CY M@?@0L,2T[9B2,ZKP"-\4QI)KSSXNU$H,=D],)HH7(/OQHDQ69+B:5*997,=( M(>!1V!YG)HTVN++-!H1TL+WG98$ 2;H&TF%*6'#;9C31Q-[1O.H6XMSH#9?_M,VQ7UE];V MYA"TEAZ^J/J< \KH;FZC^1('7[E["5FVHDQ@(?QF\C3=\&R,EATC%V*JFNHZ MMN:*LJX 4:,WIH]%-Q76\Z*M"J3;&O-NR&R>.^"T/-.0"&_52SAA]])G 8ZZ MM6[^$1X<-=8HR&A_6S;L%9#W3#JEV'>>EM)>($A328J3_TI/*@V*VFM@C" * MU>$_5 #1\8*3FG1XV&"+@AWA4;>^SM*[&(WX!OZQY *.&*NOVTO2S.*SD1RX MO-8PS;I9;+DNPZ( W]XE,2".GDW1([RN#>Q=G?2)P&^YUL73#DH5*&_E,T+( M 'F<-%8%IT7:FRE[=5JVP84]/X/["Q MUR7+=2',9#@ \DA9/N%.?X?;2:YF*=74"V/+&8[BQCP1C_1APG!2#5#^"GN4 M8(SG\_@:C*RU"C@)O4'A.6P:(W^0!S$N=".X)@\OB@3!7EJ(#"?RIY]6BHW*/JRUKY=@*!&+K.,1SLG7/MR M% #,+?5&#-W*K.'.AH[G&]NL\>5Z#<")F'5Y)@P#JH-NB1;Q^@O>#S'H0/FG M3UNE;!^.O#S?%.CYJ#_49Q[M[X6)ANVI\H9E[^D-T2DA'7,F&ABFE5I>UE)M MD?&0X^H9?X."J\'J3M/*A7V.WB*/.==TB\0M0:WU9;E4N$UA;&1)K)7+\\B+15> LT<*-:Q4E!2P5N'.@Y",KX9>B",-"12 %/ MFLPJ1T>K9C@JV[; +1J0KZWZ;3N0((L-/M?=3&?<,E7TR\HUR8C3[[I:S?'[Q:@0!JGZ(0AS) M#\P(9A(TU%R+_,6\GQG5F.":HVK$U;0S9<>CF&4V*VM>+IRUBCI%4DHI2=95 MG1251AB[5T+=&T]9N0S"A*9W38O-6I$;F(02J4OH5 M]U6VM@[+E\AW4HST>Q)XO?,C^4D+VG7RYV_?CCP2RBI +9[8B-PO-.BB$ M<3.#H217XW_MF//6WZT(]@*[JE5JBT]VL6WOR!<1#T[Y$RT^6O'@M"W*,/B% M=$1G$?L=G,S6V!&,I1K0]665T"=N236IL%)?LF,-UQ.]"%S@8^%3[:B,;=%1 M8,07CB<)RQ(@O5%@!4?'M&K,4#4TD\H$#+:2N2)*P&02SH/P-,K#0:"LH>"= MI_+)NXXB.VD_CQ:5B^(]Z6('TW^>+R$M.VO/UVS6#6)"-!!\8 ]6X56KV(CV M!<1:XXQV:FIH/(77=?V.D)RJO9+*6/H M;]B>&I9&8>I&M77"L),UF$X:==):XQ[RR(*C]DBC*)++"0N<&"8\7[VTQ@\- M8HA\0Q!SSA>/CE0<@;E(N^M:#$_]IFDO#TA5R@KHVYY-/)8MZHJ<2*2_.S"[ M&RO8$B:C(5?$;AO15?)([,CP)Z./'0EP*K:]1-4/ M,A@F=&F[:'#Z@$#($M<"5:%TEEL38^L@2V K,K325X+T*E699F=,5KYU4<+2 M)9,*NL3M,U0M?8U#.:%\4PLW]IRO,TG,THH/6[@D+CU=!(B=)3%"5UU9MT!Z M-_\D1IBQMB1"2GR17#QZ!0# M%,IXCM7!7[J'1W22V^&TRO9UZ8GFF <7]&LF\@7#]C;$13V45]G^2T)KVU%= M:O<1[]!(3$MA3:^1AO4QTCPA([5!'A,+"9<6_U)4I(_?8:N:B".5$O@V>F9* MB;$7A7*PZ5"P&%]?(LCX=,*%$,L:?;@<-6MM/G2F)CA2F>SKV/>WCNU9@;I2 M^F0DG.($N2V[$:4DBH'[^3K1Q]G(/"5G?:(NI+R@X2 &!%3/*"S?PX@RG9+V M\45L/Q*R%_>H:$DPR>>$Z @?#G["O (0F3Z8?"8A?LUG(D-5UV[?C^_YN-.G MS%+N30I\[826(Q,SO3'F7,/)@_=]NF)J#F+S;*2$J?W5]]$F)_IR'":,#.2! MHF>UE?WDQ6N\.C*C5YE%4/E0,TXX2CDSAY;T.I^]<:@=:COO1WRR2V&#="Z- M!0,=]W44TN.'A\(C@"QF];>!0/::5$\Z2D6X;(K47)FB4(:E3A M4SD253J,""72\HZ1CT_S;?YA/*74 M1B1VUB\!5VNE":T4>F_^0^120YS;NT!7B0HTU(WHL@TV*IJ3@EK;QUD?-@O! M?UI2@;^UE^3'9XD1.%WEP08L2XL REZG3AD7+4J;EM$I!'> $WE%-QU!IR^8 MS J='BZ:2'FX)39$'F(T0*1@4!"3P@66SGP;NS=B/H3 0EA*26$XV@15PJI< M83&,:L-0'.[=SLP.R?&Y,1(>)G-]YH7(+\)[%;NQ[.[18=DP6X5(TCI3+7Y7 M2E!_TZQ5NY%A27(*AY,?XXT,0T76&V24U:*/0+8.\VY7W?(D+G#&YH3-VZ4U786IN04'LY.5\3 +TRU M2H4AF-NT>!SR!$1BG^2+IRV1E+MF0F_Y4*JX"2^E6JZ8-3KLJ(.\N,A!)$/0 MBK#0#F0H$IY39#V31K*V@P;GH,-Y@#*)7?D^;%(>5!V<%>G M8J_;:0TN2X.I\&.(KSAJS<'!N A;1!L$/*/;1W*PJ/&>2Y0G_M]:!ZLJ4NBK9/Z@KR(S?/+UI&0?ZQ M*D[Y-)P*IQSS?::BT>N0K3=G.EI,D_M@=_4HVF(M.28)B6L$CA-)0FBSQAU M!11\-=<0-5G#0Q*?JV 06][D'F:*?G%P7]?FQ G@H7I<&/.&]"^U6$JX_//@ M6I\I0=DXKL/V'TWQYCS3RM'N+,CPC<(R M0?N:)5?I#.I8&-<9+!^"4#G]+*_GZN#(8&32ESP!#(6KPT:@ M+QW#^3I&?E>\+8-_D'5BACIA*65;0_1895&OO6F(2/C.K0YS1]7[[XV;<'Q9 ML,LW>JV-VW+G8'2>'EVW^MBBRSII-H8N;"-SJ79+-D-Z2-*PA1XU*X, MX63!3MZ"XOS>U6U#R DM!"N%CU[P'AH=JN&=M35Z ^S%E58W98>IRXN< MN5W&:1CB<,H!KL))^%37P1ZV$F%<$Z2QZ8&/)(92T!,I MQ9Q!4'(OA*'K8&(2XRB HL G1SU76L:?G4=%].:)N4\.=)BN+#ISZ.,8\>@, MDL-=D$0PAYP:&\Q2K\ =/HD*JQQ!MN3J"3+IH#$I?#0:>MQUZ[SFM.[ MFC:8EZQN8Q">]4*ME;?[>W3 #E/<7VDY^*190)LWDVFW#*))3=GFES32K.W. MVTX.^E7/%:E81MD6:Z:+IBL/%'O%;(-0!N*<\5#QE+=K2E#JVQYX>:Z:&(+C M>!DHZCJOP^MST^>%?9\A^4E:'OG1Y3 +_J9-TC.$^1\R JVA'0DB%"G(K65UN'/;4 MK'&^]+-Q7/>M]Y%$G^0*AS4I5;5=6@0;%KACVYWVKI\RN*N7[LQ1;UF=2$VH MV\%CJ&**O7VB6(:E8+K* AVX)2@.1!5U1 5M&!HI?KKK(OOEX'R2!]M(]\0I M8!,^C$45!(W5[!_\'GHV+V^VM%WZ5!Q2?^BI\QV]8'<5)H9U]9BDZT+@JM)Y M.>:(LIET^,\8'Z/_=,QOWU()>S'/AJ*_B6,S?/=,991\X4$S$ 1@\5F$^("P MI2C@,M(E7Y0QZ+CB*+"R2*0XTV'K QTAJIL9V@A,^H,^ [NUZ7]6YEY(*!^],>,^<#JX2AJKM M8.\O$^KI2VXI)OEB*P5&BQ33AA*B_8GZVMZA9UC765CKRC5FZPU2ZV7.V01% MMWLE:F5PB4/J""0!$8YYD-T-CIV'&^(\50VS)QNS#X>3WZZ9::J:!Z-QBGE3^0%I M_R@M1RI\\]'CLHO@$/%7YYD*F \S9^N-2M#<=7Q02XVHHC MO='A *\&^51R12DN/V52_;:AKF-\XJIMB'X0@:=,0H1Z-NR^IN>6FCF_FZ.I MWYP0V9]&Q23>HCH9(I8IK@==0][(6$2BP ?9=Y*^21X 5(>CM\7R9?^]%/$& M%6Q:2]UQ@B9R20:-B(P;WB[GI+%#VMEM'-@H'$>=,KJ$-;;VI2TA!P[!0%AW ML^H\%^%(?4*X MP[A!25+S,#-6E$+]5*ZK^0;UM$FVIR,!VZW#J[Y3Y*/S&9UVBXQ[EZJR5Q@^X.,2 :E;3 M57H\(]%.U%44U41 B0OI!N=H&.QTQ51S#>C$FOC0AXG^J"_#[9QBF\&!1-O M#EMZF6)K;5G%9>,$#>= FC'2"1CN7X96TJ&4#-; 2#DY\_N7$4%N:@ZPK#N# MO?:!'40;Q(DN'^6$ U*?&=:5;2I-ELR8M6>UO+!D'+?,.1M[(9Q,+J^G]36) M 3[DF)D\^JR#%7%U@.RP+@/O4K8#9W@8F>^0RF-N%^]AUD_G>P\&LQFS(_*P M>CZI$='%Z.^ 92\>Z,:L^7J&V?9LF&[/AL=[M W/ M>.>I Y-:NW@3S<(0S]*(?Y80;[9Z,*C2@W-Y(+9XF1+PJ],-SY,0Z^C+CIF( M(2@]-Q ZQ\'S=&P'H/-J[NRC.C::+/03R^\) L/Q4K\?Y202A ]$9;HAG1SG M9Z(>X(6;^V'D[O+UR8IOMN1=-)C]TX+T;D O]"K*>E 6YB2$T^$]7R_;V9N= M?*5WR"Q-U\"]:JAO&-D34*&%:23)IYEHV=,?T(]$_R#F0"S?S]K.MLGFUXJV M["/U@ \6R92S6\;79/:UL$'MRK++E$B:'1IHM-(G=1,^TU^[A_I\TI_!DBF^ M>Q4.E'Y/N;[3K>JW7+XB-!394:=K%D6EU(C4"J'L&16BZ$650T"0#2A MK\A+5"6 56]463UM>071?,:+%DDWK0]V%7?U(&S0]2JTUJ@*0FHRQ5._CG\^ MGBUUL3]_RV<(?L?UI[56>IB7&LCPSU/['1E'_:..I#\4DI4"TEG=)HZ.C84P M>JO[P>@W-+-#0%>X6(U98J[951U[K/PD?)\:2R(V \3 MIFI6("DOTFX9O>3>AEA"E ;(2NA08DER7#D :]*=D\:,R"%)5_],B2/'+F43 M $!G8]=CF$88UBLN++0H1P^"([7VDGOBJ?-+P=7YW.G#D$IEC*_C4 [OI+2C MG. *H^S,BWL*R7]M#FJRM'2X%CGXH?R]/O_V)IOS"1U^Y(S-FF\.!684@M*+ MEA1/OH2 MAG.06+OLVN:T:%D!)?-LKUN.3M[LD9H)%0H];OU9OE\7'VE=B&MWONKZE8"? MH3N@A-+J$]B!_0/GI((;P(E'^LR/^>7D,_J45)F?_7#RHY27/Q><.ZT^)"4% M\C9S7V_51]FO@H^S"I!1E$IHADS8.DO9@L2U29D"M(_C9G-+/M=^?N]V?D4Q M?ML9H#A_9CU7& GWRG3D-^;S>5X%4UZTL^!_-S*+B\ MTA\;.XDW\R@JN.L.:*+4;1@\*\?O]_+XW^/.+_63IF]-:7<.#9'>8'D' 7XJ MJ8/Y?,P9R(#4=>S^5[Z1L[PKN7B4GU-NB[VZ."B1RE.1-]Q3I:S,/?-+\4K6BZ%W&ZQU2 M7 ,_W4,!HR@?+ \S!UG#@.40QRXG<6C5& M5"2ZCGH]%9R@L;GN.HTW]2+"U7CX6I?>2,!P^2PAP1FO<6WH!P(/;1!YF::) M:?H.X&8^"7I%\\QN;I5;)KQ_A5R96 ?XE5R08H,B]<8+=-77]]$1N?[]YO6* M4 %A/8BH6@ZAM9)=[;D2K=K1_Z^FO/:^\S;?>=!6Y#D"M2T8^6#/PLWD1T14 MJ1YF44Z77FSG7PUO]_.U;;X X&B:=M6(*N!RJ!D\X$T#1DT0T1E[0:AF* P0 M5:A,FMH401%A'/N9_% SZ9 OIFY^'1?3?C8^U&PXQ5(PGV>J,$J$ $,ESGD7 M(C:&OW)3B(--8=/MY^E#S9/38Q5W5OUR9[2T7CZ*8MK/S0<]FR0LX&0J%6U7 MW/N=--/OY^##Y4*C;]!O/=61EJ!T!T.=X&I3G=L([=&/7YY2;U;-[2'[??/A MYHS/^A:RRK.R(JKO(E_FF@M%R U=@GYBK3/[";F+"?'=:AJT^L/G'ZM@X3@I:2;A@F*R.6_R M>MTS%SGFIT?RJLP[RC]/B=AIQ:%3?]9VRWFPB#9OHQX&3Z]R1).;#Z1Y.GGX]?/CO]NZ2B17A:&5$1MENR!67L",,D5;8Z#T[?&=>U7ZWZ/KALW+$"2_7;FXX8 MJJ7]1YK"(L$+&L2C[,-46;VG:V,"$'4:7XVE)!/XM% XI*;,7+0.^"S4V^!2 M:#\E#B1F:>+&1/U\U K7-A7ME$ER)(/FE>U]*D]O)!NRMZ;O8DVEGRB9&!C0 MR%3R/O O^QFXRH^1;DF!:$BMWGD5+";A-^M%7J^DI[@@,QME]="&1Q]94*O= M>7TOP?]_FN-VR-GF,=_R)?-__^+>C)P^>/CK*)@\?/'RK$6^W&?/CD\(CC M569[P+"XDE#B8EV2OE]90YIE&A;OO!+Z0.)S,-W%\FU8PD"H)(5U7W#OX#_[ M+AZEWKCR,JTKVRM?9$-/WEGON*.6$+2-M#9STDKP!:DV'NX\(4@9(H3-1I[U MH+Q6-2&(+!M9>6&X9F!MX.Q8>)BFSV>6D#&: .E&-;*,MLY\(2Z<@:S*,^+; M8M"GZ_1-H(^<*X'*=>L???E=>^[)9^L;$DSM5%/]<63=RU0!)2ZD;&)J6*>@ M0\ND$\-1[L;IPYP3\(<;-,2;4FXW%FP+2T169'J?%-#F<5JV1MF#TJM0N.J> M(A*9^!5S:#AEZU)@*E)SYZCMF%J;A$+#;Z+V'.P\1)<#OM%^6@ A]O>;R;T1829KT0$Q#NTQ@RBM8" -$.N)UG^R MH1=\.C;E:;MD,%1JUI>\N:Q7/]T\,DLZ-X(!X@PPS]96*PTE@R7V6J)&%_;M M94[<'&%>06/57G.EW=Q8MY?B$=8T0:[42O%E8@T5G?%.Z"49S9R(UJ)H! 'X MAF%$)6Y1A\S&A/G7=O@[_9']-6.E5V&MP4;5[/-0@]3TW8:-P M!*V"W2MSX"OX;!WCO6"1/B(>(8QN^._HG3=O*GVE@G(DO1U/;M[2YO-G^^'D M!5H1:$/RPB3N6U"[)(H'X3HJNF&//A>NVFJ0"G&Y9ZS!&XX^G:W96@TTM>6-Y2\IE]R4C1-D'975+MSGT^_&[ FM4NBKIOS!^.61< M>5*8$?@+ ^LZ8G(PF#/W?)L6-\DQKXHJAX;RQDQBSJ?K)'E/60@&.6N%@CM0*I2EN:_@>SIREWE0&B]L%G TCGFWO MA PB.V?AL."*EM,:O^"3S4NZ%&F4D["X=#)A208>"(X3.7H0WF])^E?QD P>7PK+R1 M5R;Y45GJZT;.'A#K 8,#C-Y%&64HW3$!LBYZB0TR"]:^$0>RD(?DN^_F07++ M ]VZ,L-_(N3GJGX\WO+8VLJ :+KMKOG)Q=DA4CF@4 G!G?\,II(C>F30'5.M MGP,R-A#-D=OD+AWN172Y:T%[#>R.%$DNSI6;<2,$4B6+V/^PFQ-[O7+:S68M M5@6HR3:S271-)HY?=L29[L@5X-1FBZ-(%#$RBU&S89#:>%2,=O30.=%7W'$B M ?W(L6E\N7/-"? MM7:J-"VH+^+!K(#O1;F8BN+4EA>GHX6%&TSN(DE#I(_!^'+*#T; 99L(4A]. MCL/(G!I]!AGZ&[16N^W.MTO&TSBK;]1)@#US7TJ5NURL0%-7WX=)HY4UYFN" ME%=MODO<$FXTK>HN9I>I!WP?W,+J4X8@A>1.BNN5"5;2STA\[K?/F3=@3 MY>R-ML1N?$GHZ5/F W$WK:W1$=Z#GA?/D&C0XK*4&^>C\*)EL S:%C)3R//I M-LUOI[M\"F9H#@!\P2$,!>T:=M4]"W@>PH&>.N6D@;?L;@2FVB_?][A\X1OG M+M3U[?[SZ,D-)6>'G#J\XJ1JMY_&NY[&V#J,?7NU-8)'&7:?_I*;D"FF#7%L MV+.SR/ @/F7Y-KRKI]K9XDV"1YDVO\3M1;C*&?,;+[0@%N^KYD/\^#YU"9 * MFI;P[D4\# _)CTC)(H45W<(;V*^_#[/^7'J.8[NX+B@"1H8&7-EA&1 @F^9V MRP*%*@?5N/>S>+<.?SC3SZIII;+?R8'/9>E@#8BLA*2>A!9#M[ @%D>^PV0% M7,>FTF2C6'L*A4G^(?Q(*%T5/O F8)A^N2:"8,H:TPV-]([^L:@OL^WY_AI] M*TU"6M]W-FMO67;'LN37+ALI6(BJ&-N>;=D?KLN'V+,B*-CV(>#=NESW2_3^+%&O'\7A5SLKBU571HD"JE.NA$JZ)ZCW2GFWMB0CO;F2 M-;Z?U8]J>'0J\[#9@YW Q@]Q,I*9AL2:T_E&LA_+04/V MS)M0)$8"HM36&:?N\K:*M9MRCGVK!]"/N@!L30=IYRU[1Q+OA!F!,S,T MPEHHZ%C>26H.3%A&@R;D&BW!C]&I0=GP9K)J^A;T>I3?&)1]]EMS)W-NF$X. M5I-5R[KA*H,S_ET^>^O@P9J MB\(/Z$YZ%$.$%SYQ1%B^,M2NJ*Y4O,#@$MX48DFX;/*DX5 Q.EAUB[C,Z'4J7Y^+. M.?Z^D1@2'65?RU&7C+ECE>2-)M2<(MLQCH"^A_7\8>&:O(6V8;$+P]$/L ]J M^S1MKS9)(O4XYS9*W0U60IO4D._?2";J=?#'#/+B7"B0,-+OG)Z&*W.W3LD$ M2B QT'LM;08/'SQ2GY!Q%?$\T]2-X0A2A!&#KB9'7_X5@]UV!F9(^GX2=E3L MM+(YS4^9VLHN;=!%EOX4\*)R>+*"INAZDN8=,4)BPH'+O'^S>WQ;7SG3XSR, M1()]DK;=_I9M%VX[^08EQK$33''5J/CYW/B;Q8A88IH]Q/[Y0TF]J//XIKNCQZ,/WRZ+CK?NT6S;+XOLY/_S+A40G3 M_G;Y[;QZ6Q;A0>N^_ O6POS@R5=/WO4NQT5[OBQO>INO;G.;L'S?_4Y?_PMW MNM7(?4/[+.*(Z'^U'!KBG**<0Y ]1#!TA\G1D_S@Z+/YY^&/_#I(-HAV(XFH M*/B1/QT>Z.#(,/AYUU$X1#D"!40BU)2OA'<]N.9KF7SO_WZ1C,W_N^V_AZ_& M;,,4';X^^.\)[<[)XP=?9Y-B9>+R $J'P+M9GE$K'"G&@*ACHAP=[VZIOCP: MLU1AM\T.PH1W^6SY;;]:A'V_?KK3Y]+DR>'D^5MD,3Z)4.=7P.;X?T*O)(+W' M,7 6:<.@?J0A>E;VLZXZ]Z'!QS@3!^R.'W2*Y #;I87Z8G">O[+S_'LJMM"! M?2>K]_X-S4?8XCLX2,_"Z'# _SVYB,DP7&//Q?DAUR@X>BB:%Q-]XEL:NG"1 MC^13/SHZ/'I_D__^Q\32P",#,Y]_.+@*'JXH9U*!_!;\*/2I\$SY:$@HD8JFM?]+HY?*\#M;>;[\]N M/KS6;GYO#&IW9#<_QF*[]\;T@P_:SGS__:8B/J+I?7AX]'\^6OIA;TG?LR5] M^+X\T&\>/+EC#_0^V<55UU3]V0=Q-/>^Y+]LT![>Q*#MGX>2I_GHP='ABY]??V27\F.\^?]^]^K'R8N&6E-FY>19.UNA M#?M J*CD]X7^OFA+ILG.S\^)C%!P%B]HU^;,_OR,5%DI")M,2U90(5P&[K/, M3[EU@5@'"\+F.%[P%P %\ ?U?HW=9\^_WP6[O/-CM6VW/R.R]A#OV$JY*?WYP<_/C\7=W6,NX'R;DQWQ:UGM78>\J[/#:I;W[\M7S73#. M.S]6V_;Y2U8%?/?(8.\L[)V%/T5*X?&?,)UP N[&E\1P-UZ68*9@Z-?E8'V* M'RKH0U5_X_J$](X2SU_R6>VB"-:>R.WRV1G83O>>R#WS1+Y B^IM63^)T'.7 M63__#[>V;/Y_ZJ2>>01"/YE; 3PL;>T:%^::AX='H,\B] HF>,EB>:()"/WG M*%Q_1?,T7X\ZJ'$]J'Y2D7%JUQ+N 31L*RG!''+>'9%V@AQ*(!!RL:\-!A&Y MOIZ_%::W8R:$._KFT6,F$ER *N!P\IKHB0=#,/(XS VZO6L.O'WAQ3BI<-CF^QM; MAL'.(4;)8E6O632G8)O6L25CBT""3!#" .9A6I[E]5R5G6 "Y ,005V1D<#U M\M7RK.W"VQ4W8I#X&)0+WWQS^/67CV[+N/#E5X>/;DFYL.U2CPZ_>G2[+O^M M5_KR\,F75U_JAA' J$_QY%ZV]O_05<7DV;H)UY[UD[^)>'@6O-Y9"L*1H1D< M!4>/>4WN8,YH-V=AW&I1W_&WDY_R]>0ALQ7=PEV^#^_WW?K;3^R-ONB_F/Q8 MM@UQ;?]87?2SLVKYS]OTB[_?S?$^.ZT_ZKCNT)C>IV';UBU#8=4S(8^#C_K9 MRR[X_M5Y7F]^^O.]P=\;_+W!WV[PCYNJGCP+47-1YWM;_QZ(_W=A.._3B&WI M"!I:]O@!LO_'LUF[8LF#[89^(^.Y/;&QDPFA+Z9ML0[_.5LNZO_W_P-02P,$ M% @ &(2B6.M!Q[[]#P *:H !$ !G9'EN+3(P,C0P,S,Q+GAS9.U= M6W/B.!9^[U^A9:NV9JN&#I"D<]E.3Q%"NJE-0A:3N3Q-"5N IHW%R'(2YM?O MD7P% Y()=+-K^B&-;9V+SG=T.T>R/_[T.G'1,^$^9=Y5I?Z^5D'$LYE#O=%5 MY:E_6SVO_/3IW;N/?ZM6?[WNW:$;9@<3X@G4X@0+XJ 7*L9(C GZA?&O]!FC M1Q>+(>.3:O63(FNQZ8S3T5B@1JUQ$A>+G_++\P_VB>VGU0_#LV'UY.+XHCHX'1Q7S^L#4C\? MV&?VAPO%]-6_].TQF6 $5?/\RU?_JC(68GIY=/3R\O+^Y?@]XZ.C1JU6/_KU M_LY212M169=Z7^=*OPZX&Y<_/I*/!]@GG7!V!*^*V93X]>5$\/Q(/I>":M5:O=JHYTCUE(UJ[;@JE<1" M<#H(!+D%X&[($ >NN*H$WI\!=NF0$@>\PB42][D"F<<"\Q$1#WA"_"FVB<8J MG]XA)(&BDRGC GDYLB'V!TI=GPM%5D$AJ'?,QD+YJBSI0U%5LUSY(^(*7UY5 MY=7[5]^I')E+#?SJ".-I((!AD/K5]<7!R]2I=;KL%2/U+EJ_)G MM=X : N(7>60YK+AJAK3;4.'M+D5TR&F>Z,.2]O8*E_04:IK_ZUJ) VVL!H1 M92$U%".?V.]'[/G(9H$G^,RD22PCB2^*-(8Y9@ZA163'Q>6/C642VRDB,RXN M?RR1B3V/"44O[T3WIE/J#5EX VY)U[V,_;='AO'PD1N8EG02ZK]+S&W.7$V/ M] D+I(3,-\(Y6.00'P8+U1] M[](*Q2RD'UY5?,#!):&)]KG^#AD6K3^04(_^7]3>Q8.BM0<2XO[/5]S&;M&* M XD=N)MXO23OPW-$G:M*B\&<_!&/0#UY_ZG763ZC4C+3PC''F&?JA)]JZE\= M5=,I?!4I2B1)/QXM$BRP"GSB=+U/ZO=BVXZ(HR)K"!>L8TPWWYB6DD4W8RNN ML>W30_/IIM-OW[2Z#S?M!TO]L+IWG9LFW+QNWC4?6FWK2[O=MTRL7X2=%I\& M@&*!84D$4,(<)=Q1ECV*^*-0P '%969_Q!SJ.2:"@N9;AG2>MQ;?X[?ABWZ8 MD_?/ ]Z1G:P^_+UO/_2M[NU=U[*:#_#X_K'7_@)%.S^WY;VW(V\D1>L#)T5] M(!6+NK=("D$@&7[MU-NV>U__/4Z?]6%'Y#KEJX M3]?!O01DB7%6SC_^?MZHG_T+A?)*"O&:MMB];36M+] >?]EF"\]RU4+\8>,6 M+<&6@I"25")P'[ (.&%#.1]7JOC8<_Q@,L%\QH8^'7ET"$,(26?&H;+5@T)2V33C@=&(P*_FADV M6UQKW0_YL5)2(T5>(AM;@MDJ#^1 ]>78H_0Q,?<*2JWE<^M3Q:BJ.*$LJQ*A MT,;<@_6V#Q-F?XRYT:HH1Z.U?&[Q&;- P ,I)B6RN45&!#0LM(CDEJL11S7]2WFB#-,2(=1BDPD5TAYRLFTS%9,BGFF4;1VY M#IE&;CF;X:;0F>-7(E"L8.##:AXJ("=YP@B)'(W6_+FE;,H"A3Q*9/(WA(L? MOTU4.A&S!MB+B].3D[,1- M66G1S<4U5/A5L48Q;P5NAGLYT7M#8^OC@;OS%AT)T2*>BZALI3V'TLOD#]D\ MD#G 2ZBTB.6B-5DF931]DEXRM_LBB=;HN6!.FIT-4I>FZ M[$4>0+\A E-WUT&8<3!SP_ M$V$!+PXFQ-D0M0*<0%[F86";S!;.Y2 DY*F?V"F040? +):HD_0)T!W?9R'$)?2>3 VMG MA3Q? ;1.V6C!S0;H5N3>Y M%R^926?*1"WS +/"XS:0RY#FA'%!_U+JM:,<6&B?#6'6LM7"G ORK80YE(6R MPE L+8:Y3"@;ITM;;#)EGMRDRH8143LEZDJB5DBTV1#^;131>M*2C42%LKUJ M3W6DG^Q+8O)VEEPIB2(M2S_D&R._V0)]4^9:5\G% @N[2KG7]_*8ZB:0+J73 MHI6+J4DVI<<@WC:Q"0XK:;58Y.)>R>Z- QZA(< Z>#3B9*3T89A%UAG(JQU8*XXKU) M"\G&K*@(W6S2L;P@=\-=4]Y(7=[+W51%X]-FC+1 YL)0"9 )ZPBYE/D!N%7V M-IO*F[(Z@+>]W&'RUK)"&> >E=+VRW_O^L+EPK<^8GX&=]YE4I;#K1U*ZRL]GU)I[5&;O6CP2 MFT(K-[<$(DHE7F-?'C=Q;J@;@&5CJD?"+4E5P*.V*U#K129'=^?])Z.&O%2* M1._\4JJD'$ 99(6'?P^>DP&RZ0GJ2&/!\&P1.UH=M5]M-W"(,^1L,@?U3IQI M2SIH_2L7_-3Z5U8SE*J&8MV05&[1"P\^9W+B?*/):T&66H_(!6$-3J&7?CZ[ M'H3L?"-,]@QF=@!#^(1P-_IJ]/8@+R)-ZPVY:*Z1-\S/9Z+\UF"&8C50K,?! M6];AYS)OY$*;*A^D*O*=]?+HZXKGUU5!)>?0)-?ZJ:7X6ES:?:K"O5\:"HB?C0(MZ%=56S0 M@\)M/X"J41%(W3]S%DRO*F%)*LBD@H1B$MZ9, ^\D\\Z\$0R#[_LO7/ YHMT M/#DY@QG89\:<%ZC^-P%'J\/F0#ADL#L MEGU4=I_4DNV' M4T9#?G?86WS5AWJ]51]J<0VC_=?5'F/.88=PBEB*09T3/&;W,*1@Z#_[4 :F M:^L!U9+M!:"+X0@5A&JFT;!'JQG5;E4]BW#8>I7#.S(,ZXT,:AN?NI:=O6AF MSG*'(1%@TL)3*K KAU"+#05T56ICE+\>Z[?SW0MG^!ES-6%(]H/)'8_ MZ_3Q:SRKFA69L6U=]!O,OMLI\W>9*OQ"Z&@,O5 3O!*/R&<0)FZP(,F+//9K M9F.@[F[G.*I*)L,&\)W('=#AT?=DIU*/^($K_'"&EGZ)J,\R+[>1%5II]K\^@]R7:*?Z*PGLQ]%O=VUXWZHE@ MTO;4ZUQW>SUH4.NKI"7;B\J%[V^00RF7A_*9L,@4@U3BSJ*H)W'6U[,(AQWV MT,8U;C9J]7.UC<$H&K*D[%X ]QO!O%%KG*ROP&*I?0! .(R,Y](/C M=#R'/E,'.H)BSE>8UUX &+YCM#N,>W7U ;-9^%"M*H*T.KJ\J_KW'M")PMY!A]$=MM2*%O12B^-6_"%:<8]?Z2287#/.V4L8 MG8$R:U;NF[+;U_R5&E*B\ZP&@\]"R7T88+_+^GR_H@6[6_%)57V3$8]Y-O;' ML)CA,@!X0\+_.][\N:B>C&ITAT]^F(I>Y&H4[I;8\9%G_!)QWLF8;/RDVA;NB5FI2F+,=G3+/H-IN[,HC+ +!?T M5O>AT^QRJ]GK/JP?' P(]V("9=BQZ"/XQ1E]_WB\VH3DVV,RP9_>_1=02P,$ M% @ &(2B6)R1\.=L&P 71$! !4 !G9'EN+3(P,C0P,S,Q7V-A;"YX M;6SE75ES&\F1?O>OT&I?-T=U'Q.><7 DRE:$1E+HL+U/B#JR).R @ R DNA? MOUD@0/$""0+58%,>38 $T.S.K/PJK\K*^O-?OAV-'GW!Z6PX&?_RF/_$'C_" M<9KDX?CC+X\_O'\.[O%??OW3G_[\7P#__.WMRT?/)NGX",?S1T^G&.:8'WT= MSC\]FG_"1_^83/\8?@F/WHS"O$RF1P"_+O[LZ>3SR73X\=/\D6!"K2Y;?3O] MV9FD4K8)4%@$):4!E[0 GV)(VL:8@OV?CS]KIP4*K<$46T!YZ2'J*,'QB-S% M9)/QBYN.AN,_?JXO,_O+XTWS^^> MQJD^8#;\>;;X\.4DA?EBU&^EZ]':*^H[6%T&]2/@ B3_Z=LL/_[U3X\>G0[' M=#+"MU@>U9\?WKZX\,B/^63\4YH&K=XM? MWKU^^>+9 7WXV\'+@U=/#]_][?#P_3MB9G'S^82KSSY-L?SR MN-X:JM29/"7IO^]R^R??Z4]AE(Y'B^%Z2>^7#ZD$=\$*?IOC../I *Y(&$W2 MA8M&57R3Z>HO1R'B:/'IX'@&'T/X/'@Y#'$X&LZ'.#L8YW?S2?KCTV24::X= M_NMX.#\9!)L4"L- )!% *4)^+*R SL9+Q5S@6"X.:.5U1LPN0%#"+"Z0L'S@ MDSK23W TGZT^68S]8MPWI>ETT)OP/! ^2>M=!,:2!Q6=ANAM (%2Z,CKJ^B. MO8N0=7'6+:]X,CL^.EK<$X9S M/%K]?9E.CCI$PGS29LA/14JL["KSIY.CH^&\&H7*W=/)>$[&@XQ()2BC"2K% M1"I=)6*,$V/!NGV@]L,GW^=3/+7X6@T0(Z>I21!\V#(E)*N=(9G M0"]9$2X%1-98M*MG]\E,-9#J5D/:3*"O/^,T5//W$BE$>EN'['7Y,,,%8P-A M8_;.6)!.1% F,U*I@O2JC;#7X[/,P_X?24M5>3 M<5KJ&N>LQY042%L$D$]$3):"X$T6W&B.0=C6.+B.D$WDKQZ0_'<>[&9R?SX< M$[LOAU\POQC/P_CC,(YP21IAD9Q?P94G2CRKSE#DX*U1H$/B*B-3Q;<.5F^F M:!,DZ(>#A(;#WPP2;Z83TD_SDS>C,)Z3RUW]XL\U:*H4F:23XT4!6D\@194A M:B.@,.,]RQYC<\MP$SV;P,$\'#@T&_IF8'B&!4D]$3K3Y C?AV_GP*F#=04- M6%$DT<,$N$B,ILRM-\EZE5M[^>NIV00(]N$ H=&P-X/!^6R:"KD47Q\KG !$.XA DTFI.K?0!,#LI4]!N/;NW&4:^F3E=I3[ M=4M/6P]WNV6&G(>5]S!Z$X:D6Y^&S\-Y& U0V5R((N"L.(HSLP)G-0<>."91 MBBY9M4[87T]*GVQ98PBT&/QF2'B+\S <8SX,TS&Y8+.#E(Z/ZE!C)M,[3,/Y M@"EE.8L>2LD<5)82HO(&N.*RH")+V[P.XW:J^F3J&N.CL4C:*8WO="P2EZ3* M/D_Q$XYGPR]XZI^]G,RJ5_:ZD*,V2!3W"ADR&,G(3 >?P!MK@=D<9"(6A,36 MRN1N)/8IG=Q:R70HK,:KW2NW3K)0$B,'45I)KKPC!R\D9:"0E.E-C"JTUC,W MK!9OX4F%V:=:3D(_J@"_A-&BP&3^-$RG)S213^V]QF#1Q@)2*00:U@#>:@?: M.X,AIN2B:>U>;4)8GWRN[7%QQ=UJ+I.6ZG1R3,2\Q81$6!PA3<85SS8RKI A M)!D#441DQ9PD6)UTR+Q(YF)[W;F6GCYY8^W T4P"S3#Q84RQ[@CS=XK.&"T\ M%R0/$%2LY1Y,4@S-50)C&1INI(JNM=Y83TV?O*]V>&@T^@T7X/ S10ADGG$V MB!BX)\<. LJZ#\ F"#)$4+6\7SF7T+<.SK>Q:"?SR 'R2G2 MY33&7-?:N,C!.1002 GSZ*/5HGDEZ2:$]34X0 MW^(BP+V&<95$3N36 ^=UQ<$S0_::.7#6&1/1%JE;^\^W$M4G)[HQ5MH*I'F( M]2:<5&_N;/TH$2YST)!$),R27P>QJ )!<\US9HJSYM7UUU+2)S>ZO?;8=>@[ MJG$^*S!8T<041731%A#9U'TC2H./D4C4UHBD)4JWISJ/.\!B7[YV8U@T%$5+ M+5$-W5F%P7=.I5-,R!(ANUA+K#(#+XDZK:-3)3J>4^M-#FN)Z9.[W8VGL:, M+N'AST\N#]1+>M]^S_>[]_3Z^^&K]^]>/W_Y^MV[@U?T]>]OWA[^C2Y]\??# M^ME%$EML!=_HJ=WN$+\[XXTVCI_ID&60-AM0"":%5@FX,HXB=^,A6N$ID-?6 M!IF-9:US8U>(V'TA=H8$WIJM?H9?<#19U/LN[SXP-O"@:2(PHRFDU;$6>XH: MX?)DC?;,\_9KL#<0U*>X9S<\7%U];26'=J5'.**O/A)%OX?I'WB.U8$N02(] M$T)6Q&G$ E%9#29*[BWYUQGIH^!3AM0=%( NVV8>*8V!L1/0?Y:#@> MSN:5V2^X(DH&XW+,"8JI47FQB@RQ,D1CL)S3=]:TCG!N(:E/H4Y;;+2417^\^6^HM'-)DC(.9JOVTZY=L+&9&T'32?6D;,KIW2?[^4, YZY MH]#!@-=(;BBOLU&S!,9P)6LVG\?I7L/?\\F4 M1G9\&CZDD_?3,)Z%M!C_<5Z\6THC_]_Q;+[<4+48D3>3Z>*+^7PZC,?SFK-X M/WD33C=DVNB*H@ D8&*@6+'@F^$40"MZZ(5HJUM!;)NOFI\#1D[NSM3NLF;Z:0,YP/I9=;" M)\@B:E B98A,$B:XQ"@9\M"\?NK5]Q5'9LM1;@_@,[],2@S!)0U6 MU(5X\L[JZA('J:/RF%S1S3/UMP3VMVI'>% RWVW(FTG^HDN1(_H@9021:B,4 M37H^*)D@>&4(E-:QTEKJ-SAQ=^?F+)&Y'-3?*$*HDPJESH5)\O^SJQN!*=[P MR!EDK71DL2#SK577&E+NJ,:ZQ?3VPK^,YA8#WPS3WWEZ3BR?-ID[IIFVG'*3 M\>PW+.1]G$M['WZCV)&&?S@.TY,7-&B+MB#TES2>H\6DG^,49_.!K3YWKHEP MGQ;+: I<1@N85"9'(RB&K4OK.V2G3_YG:S#>O_S;)9W.^0BKI7J8:!+#'>O+/;6B]LFUS[%QP?XTHN4W+X_S&A9 M)=9)R)D5:4!+03$J1@0?:;87&YP+,49LWG+A9HKZI'S[@M)K\W!M9-IIXHST MD]?1>+">M(H*=:%7< '1"5V+O0L/KXNH':5WWW5#KY\_/7CW MM^/J.T(76[-ZKZ/,4T#,M%BX.C MNC#Q[\7; 1/,8K$6/&I!$R%D<'4<2,<6;LG?8ATTJ5I+3I\,9$?HN=J_JHUP MVA43?0I3_"T0LW4UC(SN*2W(F6.3L )]ZX7SZRGI MD\G;$T8:B*2[KG>+;3_T\RE].)S/!B[[6+>_@:/X&E3D9+2]C/1;)EMM-&,J M-=>/ M>:6A2,R6%T%DMJY0FV@0XPC(D MQ[+@CIO0?-O76F+NV,_\A\!,&\ETJ'(NM U17A3CG8 <"H$W\UIF(#,P##() M%#Z7UFBYF:)-(.-^,,@TE%&WIFI-2X7O^V+/]5:P,43OI01M"P=E2R%WRR6P MQ493A-11MCYC8U>:-\&>_[&7A+E^&]53KYY/IL\EQG)?CTTVMIV>CM"'[L5#53#X=JK/U73\&PG!C ME9X4;J!P,43G5$IU*W_K+-%=Z-L(43]8)KHS^77O:*VR7==VY1I( MH8M4$2';VC1")EX/:F7 G:?/C5':=V\F-Z%T(]3MK23GOCVS=D+=0W)AV<9F M8 (+3MD$*6A%D6K5O#X+"%(%:UTTVNTOL[ D:B-8_6#Y[[:2VL]IJN?7_E8! M;3:(7A8'1<98CZ^)X)(5$+5#%7EQ173;>^AV&C>"U[[:$>TK ]&E'#M45VO: M*PW0,.42&F*^MJTHM5V!8052%MG$G,G*MR[7WIBXC?#U@R72NY%<]YF+139E MI6%9/;JIMGZT/I&/:)*%6L<%CI1M%O2E3JV+:C8B;"- [>LPT/M.0FPML9:K M=M>-P(OQ%YQ=&@'!A0Z:.1 QD,V6Q8 /U@!+A3MR ;E@>RK3NH:ZG3,NX:1N M'Y^]GQRD?QT/I[CVD->!HS">116!"UXS0A3DAZ(\),V5R-P$PUM7;6U.7=_V M#G8!KBO9F&YDURZ;MZ3O^61*E"7$O"C27014UXU%3,X9ZRPX%WA=NG4T%D[7 M]#@3!J4)I7E'\;N1V*O=*WM&61=2;+?)B0;BTG$J;XFRZ3#-,2^/6[GXP;DK MW^!T.,E7C=5R!]?AM_0IC#_BVS#'PU(PS04Y'0A_OOP_JP*R0198^C:2<^S -&1_LP!31*&.\Y:YW&W]?[NN4?2 M@X?GKN+O&I[/A^,P3A?I2Y+%S'P&\N'J(<;<@N=,T1S")+.3Q3=?TMJ.XJ_G8'72Q8?%W.L_UZO-, #[35 C6GL$1*8J0@^8_,D^M8& KO1/#- M6R1VP$:?>N0_(,#?-Z#N0W$[9;5D6@+'>EP\"Q(<&1K(5D7AO(G(^Z*XMX_\ MEVOX[R?OP[=:KE]/DJ4'42BY9G>1X$861=@IVM86A10\1@I1(7LMO,*<0VQ= MMK@MK0\AX[0K\-;E CJ5:\MJLK-TQ>(@X]>?%SO"#[_A- V)Q$' Y%U 4S[ MFJM8-(PM&0QCI4C26:7Y=I];B>J33[\O6#455&=;YQ=9UMEP0=II04@XS;OF M,,ZC[W5*84;C6X]%GX?A:':1K,VVSV_YI%VWT+=@L-$V^M^.9\,QSF:D12*A MK9+T%M/DXWCX;T)@)B4T+,.Z?'1*YS(!GO\ZF>2OPU'M>WZ^T/647D+S0#G+ M?6WGP.KRI=*2@,2B EZ*=QR-DZIUCKDC5G;5CEN2=2TYYXOT>#(T,W,&60^K M5BK%NDIL0>68-"-58'GK?I(=L=(K"]^'"7%9;_WM1(7L;B MD410"JM-^#+XY#3$;&GXL2AO6;^GQOW:X>4)='5;-8OB4[Z\MD4A0RU99LA<4"RD0. M7E!,*TU"P5#&D%J7..V%L3Z8[__8V=,&;KV<22_&\S#^.*2+9P/'I4ZL9 @R M>AKNS*IG4KN2QV!,B<(W/P*E(U;ZL&SY'SM;MH54NX;RJQ&QDCE,SH(PM?)9 M.@?!,2+!6IZD5"XU7XNX2[C5]3KB@T+@5D+KI4H]:S-RP>?RG$D;>:#8M)X5 M$K,F2\$12G*2&>F-P9ZD+3=GJ@^MJAX4R/L%LU[.GO-91&:+XMP$\%;5.*4> MG^J\KWY68;QHY;#/SOS:1/0]YF^6@>#Y+RYN<*W-9$^W^)P=W44QH7:$'XA, M*4)\/;0-$QEQ783QS!HN+JVQ[B&GLP4C?9U%-<=59/L4J, MA',YD3'.=ZB;N.6.N]9'W(7@1G40:Y-'=<7*:J>8DA(XSPZ4B)SB' (9)X6G MC,G(;.L:PIOH:5"O=?V]%^^$LCPG FWS[8$W M4M0GCZ 93JZIS6HEE&:&EZS_\='QH@3Q_$D&]/L(KSG28'T"-A29*/)*1+BJ M\8ZF0(QG T4+1"638+KUUNY6M/=J*VIGZ+L727=F\+[G-L/"%='>'HR M*=^_.[7J.UC!;1ZSJVG$WCLJ6%:&3[;GU,![;O M;JSMQ_:YZ'1RUD 4NO: 80P\$QQ8+O6GE$ZTWLE^?[;OZLB_HE%^_Q5'7_#W MR7C^:3;@PB4D90I&"473(D5P*#-(C\PGEU7PK0L6=J.X3_%F0ZS=Q20V%NL^ MS.,U-/\OANG[KY.!I<% KA5X]-62YP A)@,"N2C2LQC8/CVQM80^($.Z/^!M M(\3[Q!L!" 56B@I*I]H;SR#J/,K=<3MB2U#T58_<3#ASYG0YIANA,0Z.TCQ!*HFFB4.DL?$;6^M3J[2CM0]E5+S%W9S'> M)^3HVH'/RAJ7./ 0 R@:*W Q:<@F^B)-J&5B]P\YNK8/15#]A-Q=Q7A/D#LH M$2QD2,)Q1O (I)9=X1!K63>S)I$?D(/&/<98MY%[QZ/__C/ M[U .VP\ ML*AVP64*(8SSI);O+6OWSFW,KSTW)N/:H6-2+I7(A.5)%E>K:W;J4[ /PG9O M:[#WX6N4T5E_9M?Y8@YOFP>MOQ"Y7V1A>6H]Q< M>QIF$]DT/R3^+7[!\3&N:#'DGXKDL)[44XB"*, +YR EYH.A_V)NO>1W/25] MRJ)T#Y &TFA9+W*)VQ4Y/BJ>DZ<@IF@/2CF*:5(MBQ-1@>'VUDTJZ!^#6'RI-S=OR]IO)D19_3)1E=T9LG#0D'Y83%\A84*UWYYX]O.V!? MV!-?>DG-$ MT.)8BQ1Y/:4M@@M*:R3UI'QK1^0J%7T*8;:3],U'YMUYI-MT4/I[F"ZV:YS1 M4'WBZ2R,!I(Q991%$#[*Z@TK"-$[L,%J&Z+-5\Y27[,W;NTC^A1T[";2AD/9 MSKY_FDSG[W%Z= Y>S'#,+ $B)W.D,K'FR.-()6,BU\,4WGJQZRH5?0HEVDSD M'4>Z8^-\4!2&-+&GK\OSX8Q$5TDF M)6N92]Y L$+6 T8*N"P#F"*\SNB"+>H^('T.J$(9NH16MWZLY$]LO;Z@OLMA;CO:!M4>&4,&', MV5$,D6LJJ9YUC-8 -[:D8(IA]^9J]+%$K7=8N[,0[P=JB[H2RW.(N38LR9:& MQ D*7E"#*$Y%##+JYOF>N]+8IU1P_Z!V5R'N'6I7-D9XR7P.-!;9*5+$2DL@ M8NFM#<6Q&*UOWBUB6UK[5)C6*^CM)-3[38(,+FG=AFD0NO5>$B&76=A[*J3P M(+*T8#EF4)$90AA/8(4KLO!:H-VZNG1?J9 U3Q@XZS$J3BP;BZ",\!"2,A S M#US&8+)L[?^O(>5AIC;N@)B;UTZV$\E^K-Z'<:; MK:(JP6;B2X].*KO!HYH M(@MM@ DM0&4F(4C+JEY6UAJ9DMUK]F(=H0\S<;$#MKH7YX;&;OEY?8E$PZ]_ M^G]02P,$% @ &(2B6-#WE(??2@ +'4# !4 !G9'EN+3(P,C0P,S,Q M7V1E9BYX;6SMO6ESFSF2+OI]?D7=/E]O=F%?.F;FA+?J<1R7[6N[NL]\4F!) MV)RF2 ])N:WY]3=!BM9*B10!DI(57:'60K_ODYD/@,Q$(O&O__O[\?"7;SB9 M#L:C?_L3_S/[TR\X2N,\&'W^MS_]\>DW<'_ZW__^+__RK_\/P/]]_N'-+R_' MZ>081[-?7DPPS##_\L_![,LOLR_XR]_'DW\,OH5?W@_#K(PGQP#_/O]G+\9? M3R>#SU]FOP@FU/)CR[]._N),4BG;!"@L@I+2@$M:@$\Q)&UC3,'^OY__HIT6 M*+0&4VP!Y:6'J*,$QR-R%Y--QL\?.AR,_O&7^B6&*?Y"XHVF\Q__[4]?9K.O M?_GUUW_^\Y]__AXGPS^/)Y]_%8S)7Y>?_M/9Q[]?^_P_Y?S3W'O_Z_RO/SXZ M'=ST07HL__7__O[F8_J"QP$&H^DLC-+Y"^CU>?;C'UY$HW]=_)$^.AW\93K_ M]V_&*/#Z^M(!Z/9KWEP_.O99WX-PR$AGC]A=OH5_^U/T\'QUR$N?_=E@F4E M^J7(%92N$.--3]\>\X]G0<823H:SAHBO M/[LIWO%Q&+14\+5'-T [?Q <2Y%6$]9&?\^GHSVE\_.L< MVA]OG_WQ\O6G5R]?O'O[\=V;UR^?T?Y M\/L,1QD74]02R'"<+GUH6"?(\0^+#D/$X?RW1R=3^!S"UZ./,UJMZL)%R/$U M?3L]\D%'Q3)",,70BJ(9+28^031"19$QR!BO\V&ZY%<)TSAGQ-DK?JV*_A6' ML^GR-W/5S]6^&L5"O0WD^A3B$(^",YP7ID!JE4%976B5Y R*%5'I:+D*K)=, M(O M:3B>8OZW/\TF)WC^R_%H1JQ^-9R_D$8N?J[?-&/"J_\^&A'C)D ->7++,G\+;^YAZ%6< MV5KA-U%H2S9KHBN/1B TW FK(@I6.TRTY MJWHD O<462.X+#DHPS6$+!0D%VQTI001;6/K7P/1TO(W^??7S=[ ...6FKUN M:K:MJ9_E/%=B&+X/@_QZ]")\'6.SWPKH,5"@G<8[C/P/."/Y,+\*D]%@]'EZALID6;36 :R1EN0U$J)+A"\K M(U&(;*5NS(.;D3P& C30\77+BZTG@I1.CD^&-5?[;O8%)U7B"7ZI"^0W?#VB M.!W/@#K&2F8)0?NBR!<6M-S)9*'(HK1)&;EM[0FL#>XQ\*./):Y31FY+&<(R MP3#%E[CX_]>+A>W+>$C/GRX4\V$\'/XVGOPS3/(1EYRE9!U$F1C-;=H3PZ.% MX&Q*6K/H9>O8R>!5W-=C4=L97.._@#($8XN MT]JFD< PY8 G1JL>Q476M:; )0"/V_KWUW4'/^)9_J^3Z:PN@M-/XQ7AT7S6 MJCO2N;I#Y O--[H_(&EE.ICA1YQ\&R1\CY/!.'_ -/Z\L-;?PO $CU(J+AA% MKK6OKG4)"J(H D(Q&HTU0=K6X4MOF1XW/0^*$=<9KYHL>:^GTQ/,+T\FM 8O M8"Z6YOD?WWVM8*>OON,D#4C&(Y,$FB(5F%0X*.$"N) D:!XM"RF0L]@Z ["^=7"_,8YO,5P6 A ;L:[LO@%J>93^/[WP>Q+U5K->QUA MR5;KY %S)MPA)G H#2#7VF:%/++67+LOUL=-N9U8\#KS;&/F+8;(5?#7, ?N M0]8*)"/UJ,@U^)0]))0AH\HEN-*7=6OA_*D8U]YRU]GFMF7;JF0LZ0,'GT#+_PXQT$4]FM=+DT_@]:6$T M.V+%)IVY BV,J!XJZ3F3A\I\"E;%@%*[QC3=J8"/F]^'RY7K \-WR.(R1@Y( M1O"*%U"&>02>+D3@+^OVYG!ZGZKC;EBVK$W>C8Y: M53#7@?#\:E[DV80FE\_SG:;GI^1].ZZ^>U0GO? $]?,)\,\%Z^R")F%R0#(5&" M$BJ!%R) ROB7(Q1?C\,H[?A M&,]J8=:1J5,Q>0]Y]E.+O@5-;MK_/P0;/Q3^)NV2I^$-VG**KJI841L/#C7W M4F865?.4^(/A[1V%\P=.VTU,VZ7:]E(6[ \RR/3#QS_.JOMT88$EE\ Q1=HR MF4,]VPZ9"^]Y29QBBKZ)RLN ]E ;WYZVW,)@'8KIWN.D]E.H_0,6R9 S M6&@8*TXXD*8$4"J%FL(2@"K;K%6)4;3V[U9 >6)0$R/M8^&\54TW%UWPH^AT MD5H7L!$U*:KZQ0$99%4$N7\> B)S_!047@I. ?CN0?EB8I> M*OH1F94^&9:M;.Y;K0"SO1=Y^<&+G(1V05AE-: 1'%24"IRSKA9VYF)T#BJW M/KIW(Y!=)13;V/JZP[>M;O>=\YM.9N>'3/Z*X\^3\/4+23.<1V3%((5D2D&> M'SK33I/;$0TD+65*S 5OULKTTULN,(1^.F?'K0#VE?MK8-=Q:_TV=.OFH!:\ MN0CIS']=!]0F";F[C+\*R&XS:0T-->ZEY9U1(/+"8BX<9,F^AAL:/$::$T/6 M45J3DEO+,S\LTZ](1NW:\ILHM['%WXXGLR_/CLG52N$LLI1!&<=E 2^< B45 MS6?D<8)D)5OC%,FZ5KW;'::^_N;=14T-S3%NILN&&9Z*YM7)A#SO99< 89PW M60%3JIX5]QZ\0P%2)"&2+\G*M7:8[[#IQ7<^=&O>6W\-1V@-J!:E8>>"?<#/ M-0QZ.YZ]'N7!MT$^(3?W].5@NG .EUU"?)$L$TP6>:JI19JDHD^ "0FW9UF6 M*]6 U\/+>[_](9M^-RIO>!JRJJ"FF<^6JT6#(2.3%N27NI()"M,)P@-',E,D6?O/8[&D"_)9R*_D*$M(J-:BQ$9YUXUA[GY' MJU=^MJ^%^F]#/4N+S;*Y1QHF=6OE&VZQB73K\[;< EH?:Z,-G.>\*;2(I$C.(*8@ZFF,#+XH ::($H7R+(3671UNP].N_OR&MTR?GU[X:>$1 M1^N#\TR"C[+R&&FQ34Y ]BE+TH83NO4>UJ88=[7YTXPGJ^O$.QAEWUM#MVAO M[L-)E8(L-H/V%&HKQ00X7YM#I9@H",Y%-#\INP+*_DO$>YA_W-X,'4J#;H)5 MOYW@LAYJ'8"="KSO!+>?:NTFIER#'MO;83^$H8DW,>:!ETRC)/A ;GW1-&AL M]!B,-ZGUV>8]$>6.\N@]\60#];?.?K^E]>OCUR\XP4^8OHS&P_'G 4Y?C])9 MQ$<0@DY" D?-:F8^03U6"XZ"2!45*L'872[P.B_:?0#4V"[C3DIM&$;/L?U^ M,CL)P]_'<3#$YS499+6KWD+7,?./C'Y5QMU?@ M;N;X]^16D3,:/I.W]+=Q+?][3=[J!*>SZ9DJ\I$J*1C-'1@9L+KB#CQWY"TI MF;1E0A?6^@#]_9 >!(/:A# [,%7K.>,&R&]/JOK>E5?'7X?C4\1SH"59SA5C MM%:&.A(\AV@X)P6A%E((%%?WPE=,)9N\]1'PHZ^F.\XY+\;'<3":)Q%?4!0V MR&?UR//V*04G!)4?)0RTKF4&SKI0[V2A^3';6$O@F>%&A1A:E[]N@N\1\*>[ M63JT&#X[JE";BBY(O02/T[].:B=<-%$FZPMX6X]P*9<@^"P@"LE%O5K68^N[ M_N["](BHTE3]'1H1WTSENCX2ZDND?C,(Y(_5GD#>A>0"S8;I6-UJ'AW8 MBE;8(K)I?4KS'C ?$8EZ&ZE#N]_U(5\\F?BA?O>NO#N9U^X*OI;'!< M;YWY[:2>]'JW..MJGS!\]N/DX+Q;XM]$(9A4HRF7H*G5/48.40V/T:3F2A<)A=W ML'(?<#%<7YYLHOY=%\,9'K(OA4.)EA QA^!-QNKY%YE=2MZ&QUH,MY%=-BF& MVT2INRF&"Y%)A>B@!(V@?+W&W1D+R9'\0JF$;#TS/YABN'L;=WL%[J8PY>S" MT?_!_#J34SHH@^H1+0+(93W-LU%^AKC=".M'%22:7!:(H\5/(.7$0%5JE@?$$*"PZ9U2L%>V)X1R(<^+S]>C0+ MH\\#^O#T2(GB @^!_(I2+Y?V"+5U#<0?2-17EB=%-C=ZAH7.X9 M'$7&)-++P%I;;YJ.#D*AL924]3XJQI5N712T?/_>KM M>)0N>1H4 9$73G$/9DV.=XP&@K&!HJ*2+-KBZ>L!3U(W"O6(B'A8!&A8$[EJ M4_W>TEW^" 6%BXX?YR,YBQR\2I"DJ(??*.@/AFF("46JB6@,]ZZ9Z 7Z$1#Y MH.WX[?0Y GWN^>#[NI^[RW^#=43-$?CVAH1Q-D '+%R#2V M<)+0%9 .%<^"U].Q!^R^W"S5(Z#_@5*@8:UG#PDOBI6MT5AC2:8-UDYW'CSG M"!ZSRXI^643K2I9.HCS1N:FQ.Y1^WE.LI<]UHWAO<7:DA4Z810*T\[Z-M5-S M2*(6@M!?;%"R^97"G41YXG!38Z\L2#V,>?A%F'XYRU!_"\-YN:U.6F'&>H.: M-*"2(HUCT&!ES@5]/5+0J\M@'XF>&-W#]#=L3_3L%'J>@0Z7BI(;U5??]?B& M1=4;2;*+2FHKM,XH/&3K'%F](+A@&6#*I2A:E'/H=;KV("JIHS%1AI@)9AV0 MR@J*(ED]7^",I 'IO%[KLH''7DF]"4^V;RNZ@5$.O9):%.-E8@JB]Q&49Q9< M=8&Y++(D%HS>Q0![4)74&YE_S4KJ3]$,8Q M46*6!6R];D(5&B"^MCF4%C''J+G\R2NI^_)D$_7ONI+:68F*W'5(DKQXI4EH M[PE;4"Y@-@+1E[L_BO\>1%O41DT2/9 MV:"MU5!RO38DT(P6;"GU?GL1A!4FZ]8%+!O ^REZ@LV\1<'=BUO-[J P[G2>_IE\'7Z=D*7GP,*&DJQ["X)%6! MX\E"80JS=JBD6NO&P0V8= N>\^]09,J9%*2E'R*QV+/.204#+ZK7,7"FA3;AZ?&)C0FU\]Q?&Z;'GR2T3_6N'4YHE0(I+"_6*)Y=Z_/*Z^!Z1.QJ;H:5 M#E&S:IS?PF#RK?;M7F;\8IB>[ MD5I*62)8E[!>9:+ :UK>.1:MK#:ZI-;^<%,!MIXZ&X!9I*"EH*%KC0/F"ZT! M6M1M22TA1U]D=$EK?8B:W&DITOZX>VVNWHO=#Z6HZ8?TST]_?/L? YP0LB^G M;_ ;#N?)2)6Y%4XC2%/K1]%HB$I*<)$99IU5VK6N<5H/V;[VI?;$FE7<;6>] M'IL'2VAG>IG'?-?Q+H/+-<#VVJG:!.B>]JDZ6'P5J;J9:^\<]OZ3-H!<.NNS:E#H]8F5NI)J=>CKR>SZ5P#?)G*1)T3 M,P*2$*Y>[";!2Y5KTWHIH@I9>-N+0-?A["%CV,^0JRBSI15Z)%MN@":6A4>. M11'0@7-%@'+<0O#2@)0"/1,9K6B^ ;X:SL]&D/M884Q0HO7_+AS4FR^S-F>>K- $ M)=?:9@(5A*+8)/"$WF"AO[;>REZ)YN>.LAI9J0-_/N!T-AFDV8_CGE M6]0*DE$B-=VI$*#HE%6U*B36O*'I0?%X_]?X0Z+R)N7L<%[G1AS':<><-@U ] M%\6D Q\T+4PZ6EJ<"N;\\@;&_F\6YMU#,U< ZPEE8_.Y[? MS+"L]9/6)#1SCS#2%Z&!_$1-,ZE.,N64?&E]3'(=7/L.V9OSI[DQ.A!F$XY' M3%Z7$*%D[VI';9J.DS0@HBK22*&5;;W$[6G^V=![:F;?+2:@38S3H[%#F$Q. M:?7^0![_9(9YH835<+4NHK DP4A'X\J&##'H HS5RE-E)6]^3&E#B+OG4S=S M7\OI]+-5C[!M.AL7 L9\&8,9XU;UNT+KB] MIPOV>-JOCP5;=P.=WW#Y\0N-P$\X.7X]^H;3V?$JH*FX: 63]5XTFF61?(2H M709'7Z37,?!\9?-M19/03=[Z,W*HKVEVD+?\[6]O7Y_?FWJD4647G2!TQH#R MSD&0C('E#HNQ:$KSS-/MB'Y&4G6P58>%[RJZOP]F7\8UG1OR8'CZ$F)?;PNO+-9J MUL?D_63\%2>ST["X^^AKG9M'.-NB+\D=3]RRS\@F>!OU#5F^\OTPC&;/+KSW MG$F1D_^>(@/G32!+ULBMEH;JVES9^HRQ^:B]&U6[JX-6OFNQ?6!9\D4$!<;6 M]F.^MG,JQ4"47+K N>F=3G3NMAVU9^C,4=67QC4T!2'TE-CI4C/3S_1(\ZN MKG ZF5!GR5IQK46"Z*,!GZ(LCEQ#S\JN!M@YK/UW>6])AZM)T<9FZ9%47RD] M/>#']35W0^RUJ7Z)0"*X(;^K]Z;EVGO.E=O)4@(QK MG04YCLU+)?=&G3NV\0Z!.9N8H_5%0ROQO?J>AB>98HP7X>M@%H:U+^:RP?.+ M\?1':99+T3J3,Y0P+\V2I98*)O("N&/1&<-XOLO#;H)D#QGRUK8=[\LP'1NV M_\"][-D1T=,DZ"$'IT"ENH(G4HC0@F?ED*GFS?%60-D=8?9@T!4MVK>Q1H^J MDY,)Z?QD@J2/WP;?ZW=+:5&[Y!(AL\)(4-)F<'6[A\D0.5;7MJY&\S-1 MI9%-.B0AWV"8XI?Q,+\^_CH9?[O4.URQ(*/.G()12<%HB!&<8)$D%M'I4@MN M6N>R;X'S,_&EE54ZG.-!Y MO6J0ZR!3L);SUBG3:R!^)JIL9X'KE-"M9IL+A%U6K8@9P[V_2AOZH3] _&@_>3>,33*QZUAX M'T W0)QXF$43.HMP_7,AV$X+,#76QB)DGKXEK-.O=MP!6Y MS@[VVT!AC>WV.VGJ^.1X.<,'C5JH MP4I+F$)W A2G(@NGN5M"MU#YNH;.&B<$YD/#] A!ELD=3+VC.J=8TT?+O.&9:%T*(10I%?&QA MO(LO?8#&N[?.=KF[=.%>(QF3R+4:H&"]N-89!C$S"O\9:AO11H&MNRFL >N M_-XW34HH6INBPQ[ 2HA_G8RGTR/N@O$B*@BFD-.?:$1X7208Q6V.JCC#6V\% MW([HY^'(Y@;H,)D\2^GD^&089IA?XM<)ID57 /I^B'.UC^H)H\EL\#_SWZ\4 MYLAPGASW@1R91%.K9!9B4@I\I;]W3.O2NHEH*^R/CG)[,6J'S8:5P-[B[(@K M+J*,M H73R&L50&"H&"V1,55%"R*N+.9B_ \.A(U4W[_>N/S^QW#O(1[A+./ M)\?'87(Z+E%>TB#21,-;\YO=U<+4K6;[E;8NT6C3:U"PW^7KUYEEG"S@K.' O7-8.2\FM M*TK71[>S:P5;(Y4:RKD[QZ[K#GD+L*;_]I\+8$6?N&X>T,U:/(9\/;Y=>!VZM)\F90]]2Y MJ)?IUZ=8,[L= -V$"YIQPX!F?H*MR*=T.D5 [DO*)= /S?O!'P+-[NIO=* L MV\1:U!X9[6"J6R ,^8 !>-,DGI M:)H?FKL%SAX.L_8TY=6"UD9VZ)#U_#0)&2E,^D<]SCO_H-TW:V:+'7')6E+TL8+FBC643)>6-#$6" ME HK2$7XN 61E=;&*A9YZ]+$M8 ];N*TMTV''&7M#T$X<8;//D_P-U4:6:%A_?/E@@_F#&9?+.A:4:\X M6FD@L"!!,1?IN]KW/'CCO?5:Q[5*A/=MP+5*T%K8;Q.%=2U!HQ=:G5D5@3M0 MF5:-&#U%&];1)!.XYAAMSL'%ZJ:+E8O'8E"SHORQ&17:BU*RN!"4$#:2.AS MR1F;WXBP,6_0.C+:<%E4>Z@P9(#E78A$8>&F] M=W [HI^+-)N:H']=&=%X_$8AV\^XMXSG9]UD'4J=+L.IK]%)/ULM\M M--E"^;NAA9/9*6XMY%0;FB>6P-5+B[FBL9%Y*BRZ!TJ'.XJ^]L>&373>F07+ M.XT8:IUYI&F0HD1E@H5HI0!IN0])".::5W-=1['[*&Q;V]QBZGLHMD,R<'Z! MRX5;%HZT9=98PR$E3R&ES;6.,9&@45@3K4LBM$[^7<6P7S,W=UBW4O%*DS<+ MK5]BG+6(FF]\SI8!\=W8&L6ZU=+ORHL)YL'LMU"OY)Z=GEL?95%9.PMI?G&1 M#L0#FMX!?18RL8+>K%4SLL&8N!70UJTC;WCXPOGU1$G%_2O!["I:;6?[:\T@F^CY4,+1RW+,W1Y-$YC3M6B()4XE1&=>T#J8.@6+-^'93[BX MK:UN-?T6BMX5":0NQO-ZX:ADNC;QD74324 @MU58@FIUZW5Q=\:_(SCTW MT6^7,/#;>/BM]BV]!.XL<)&YN(!"@2G!U1M!%=3"&0@Z998$RM2\7\VM@'8? M-6QOLVOA82N%=X@4W^!LAI/E@K?$I"V7G#FP7 2*7C-A#A/ W\)D4!V:#Q0<+V8X42)-8AF$=(2'^T*.C5*0@XF266U< M\WN5AKN4)=Q$<_2 5D#42=/[SJ:_?AYVUGI%I-OH>+.P_T,&<6^ M*')U:3SCH&26X-&32V-S9LJFJ)H?G-J5T>_P[WK;?!/-=K#U\S"=HUF>_]!% M,BGJY26&? M6,H2:A3;1%5.+4AEO'8']^]??WLW>3CLP_OWB[;&BN'Q4<. M10B2O5:;>U<$<%%$-*4XG]Q:-K[S50_;RFTUV>-LXWSQ*0%ER"6!*ZX>$QX]_G/:Z&\;C.Z2ZD?)7''*\C^9Z M'E*UKGA?#TNK),DAY @QE]J&G'FOK%.8'\\]"2WLMXG"NAY2E9R9P+P$U#Z# MLN24AU$YUU/:3J G$N:0_96%F[N$NH MUR4!T_4:XJBD6:^A_@,YI'I?X]U;9QV"S9M6]3. S\>3R?B?B[O1Z"^STR-M MI/2U($J@)U=.\XJ521#)"2^TL=FT[MRZ";[=N[LWH7O3K3ZAB5U:1[0W 7TQ M'LT(7[W?;!7D*#RW)M5^VZ5>\\ I"-/]CH,JNU-]A MUJG%8Z]'T]GD9'Z#?9@.IA^_3C#D=Z.+$20_\I99)1UI@^;4>@6;!\+'(='< M:KD++NG6%<[K8GL,%.IJCQX7*U_0P!&CT-*;)"")>@@;*ZIB,UG42.:8BEFV M;NM\\?V/R?[WUFO_XZ4?\!N.3G#Z>4R98\A=XY& \$F6,#T092X&D*=X:RS(OK2_ N@O3UBO+ MS<\_ZZ:6O+-R:)EZ\.@M^'9515M4QY<6SI:*7S? MM;0U-/LXHU5N?NT4CC]/PMT8N=D8H.FKE(G/) MMPAM5P+85]:WG7G'K=7<. _U<4&?BY#.=C#6 =4P+;P2R.Z3Q(T,->ZEY9U1 MH#8/RSK6(T&QWHD9*<)FFIB.2A>OO51YK?8YAV7Z6]++N[3\)LIM;/&WX\GL MR[-CG!" M6W^M"RKF9S3/!?N G^M![[?CV>M1'GP;Y!/R?4_)35GXB,OP@-3M"*%NLMO2A4+M(T M3N!=?/]N%_9&)KEVD.V>^FR]#C^?/H[YD&HUQ[A$--X61C!ZDZ3 MU_7"BYA!)4[BAF*!XD^=11$"KW;&7N'"W?&BAVS4YHKLTZPXC-(@#,_D7=XX M4\A*KBAR24LB=Y$I\)X7*(5;[DPB^3MQ5K]EH!+4Z^S0@&.5B30G =+7Z+SK=L47,7P&*R^E5ZO MVUEM:^J\PNA=>3\9I,'H\SQP0:>EC]H!8\R#0J/K ME2\1:KU)%)@9BZW]@?60/9ID3D>#=%@J[D9Y-F[6P=FKW=&:&/?4 JF#G3>F MTA9&ZG*1[9IX>4B")^$@UV(8E6IW#Y48\$R3J77,4XSYJ,AT5TNE ^+2)K;I MP*%/I#1::'\/,YQ0Q#5=XEYZV(8IYI$#X[INCPN:F6EI!Q%8X#91P!U:7[1S M.Z(]-.#I8LFK%V:W,T.7B[R^U_B+/+$KN$+@HEB*O7CA]2)FDVLIM0-G;3"Q MZ!!3ZXEE%99'2HPFJN^RB7WFP2T/KP?.E"=_GQ6T-3G#P/&4( MF O=>EKS> M"9CKSWYDEFVAP0[IK3,POY$R;A+_U?ST%OF&;$B,$Q?>1= M^4B_G9:K'>B33*B#)FY&74_4":*E(]>C9.D\C]DIU3J1W0Y]HUGP_DC.>H@8 ME56)"81A--Z,CA"M4:3([$41Z(QK?12E#?+=7=RU%[ZNF$MW:>Y]'PQI)OK' M69C,7BZ;UD432.':0%8ADQ6B@V"](6?&2A%LM );]V=M*\&^$J/[H&#K47!_ M*O1I)GVW-$=6I2))0R!]O<;42H00C0"?G+#UE"CG[6MOU@"VCRMI'LY4O)'9 M.B1"U@))OTPT08?/2$&Z9]8%"M*#T:!<]?.SJ$>9E8W+-;SG9$.(3WSJ8 M0:V)^XNDOC MK\PQ[2D/<,3[9P*.^&YS 5=E>LH&/&4##D.'3]F IVS 4]#T*!C[%#0]!4U/ M0=-3T/3$U<<4-+T8C^HHF\S%^#"8_J/!=NG*9S8*BM;#O*M^<5(*%G*2P&WU MTS)C$+/,4'R.1DHM&+:NW-]KOSB;,-4B>4A%)U#)2?"!!V Y9V4Q\B);]SM^ M$/WB-N'!1OWB-E'XH00"UX;H\]-/]$\7I[&9D,*$!(BU,;A#"FS01C#>2>M# MKA=4M2\C7@7G($\R;&3RZR7#353?I]+\,K0*;-E&80UH_4XLK(*UMT,*;4QX M%S6VU/^.*6*+TF@*19Q6US-;*D%T-0Q@F+S(W$O6NE/ISJEQ]Y&#G3-C$[7W M8,191>(UB,OSW%P'IP4')23YUXRA].0Z3?\R'A.(YZL0]>,\*D!XRQ5P$DH(MK[53&%3KT5FH-FK7=J;P1R ([(5O8:MU9V!Q_D64KC MD]&,<"48ST%-ER?RHI1HK09ML/:3LQEB1<6L=QB8I-!LO9YM*U_Q2.S; M4(^-VZO^'OYK/%D&0]/YJA:*M$K1JI:4S* DT^!S$!!R+,*;S"3+ZPSO.Z]U MO/KF1Q- -%!LXVN/WX9C?%OLD#P'$C)&9TA26F*W1N^VDUDC?XV;*VD76[[Q2 MB!\9(;@-0H(H)*&*JM[Z*C((U#85SC,+W3-^%_ <8-. ;?:IFZF^==_DMR=5 M*U>8/SW2Z&HW/T,1X?R*#L$A>JD O9-/IITD83:]6PGG$G$VFH"G2W$]A M&:=UW"9(1@41=<+<#B+#H>O:+X MU-566+%NB&4$+CQ/WBB97.O.FO<"NKNS$PV9:"[1, M&!*/2?*='(++V@!GNC"KM23';#=#\09T^THR[( IU^I[NUBL2QGZ.9YEW+P& MHDY;E]?1[&>SLI?];J')%LK?#2V81/*UG02=7:DG=2*07^YK2SCCL*;JUKO9 M[P#I<,=FY/[8L(G..[/@+$S74DIGE0;A0EQT^XS!F-JR3;I2'-/8^AJ!ZRCV M<6YD.]O<8NI[*+;?0;B-.OH#5 $<=[7-)&>1B.ZT[G3^^K!; M+'9U>WL;:B>[V6]Q]N)D,B'?^ A3D%;G C)4-\MJA"@M^5K%&)4Q&II.N^]H MG^-Y9&QIIOK^:9@W&(BQ;\.D)@*_X1;YEQ5/VC+QL@Z^1AF7-W7DXOR%+W&: M)H.OEQDA? PLH@.3O"?#54:D6B$K71+<&FP_9NZ M.T4?9TIQ% MWI,&(J8%ASD"V3N%D%$4W=KEN 7.KG(G+3EP=59HI>U])TCJYM2',/J\.*H0 M,"9:RQ2XHLDAH[D-(N,2I(PA69&"+RV*)WZ\<%_IC&;6&V^KQ<:[Y7,0RQ;R M:\!H6!MQX=6[KX:XI_*OFF\+S74T)#-6&&X%&"'K,7G+("2F 3E1-+$DG%ZK M#_N^#7A+:4-;^VVBL,9V^YTT=7RRO,U4%0I%-0N 69/?J9R @"1;YAB42@JC M6^M([5W%:!=?NMO"AGNK?=Q"9PTCK46!S?<+0+ 8QE%E\'+155^3;T^02@PJ M)E.82VL=J+^SDO#[@S;>O776(=NV6-??D2= <;H\WR!_]$A9/[3)YP<'V6? MB_!:@+6)4!:)-1RDJ,W'E*W0*>74Q1V^"]GN0^?^/G)3:W1(K MS*HC?11I\9&HZ^T9N5*X]K?VH@)#'1F+.F/K2X^N0'A<+-A&OSN:(N9?WHYG M_XFS"A1'"7.EYKNRS _R(XY"*!4M2",8*!Y(!;HD0!.M8:(8%*TSM?>$^KCH MLPM[]6_K]'$V3O^(A#K3K[Z20SRO$UONJH\+'G\=CD\1IS=^;H)I_'DT^!_, M6Z3T6D/8,A?852.-DHBOSC"=E?TM82VZB[T8 M3V?3\W$06$Y&1TV>E:^5F": +\J#K F&P@S+LO6%6HU%:%<4U@;8(F5#HSGX MY"UI,]2>!T*0!\$=H+^.9/S[)P'!4XY%&"T=(%*7( 3SH&4CF2S*>OF'2IO@;/_*K2] M<676_= D#O*U_;$CPU4WZ73RG166^:>G_3F,K@L"DV-HA98 MA4RA._H")A8KD] ZA?87S5\!L?OHMJ&1KAW;VD;#74K8ID@/_/)L1''5-QR. MOU:):Q?ET729*$:-PK%:JN>(ZBHDA& UT5][IGDA_NOV1U7NA/68:-':"CWZ MZ^!P6"ODZIWVDW]@SNZL!.<3.54E:' RU+.M42L=6(B^]5T2=V%Z M3!1IJO\.S=W^BB.Y:/2<_3V:+DZS+(XHBME;66("Z6UX[GU&=5FX'>5Y-XQ M2U?GM7=I[$/)9;\?AE'M>3//D'AM0J$5A)1G'2A5:N\+1PKER9)2DXF^=?+Z MXOOWGZW>*0/&C2S1(6I<8EGV(EP#3:<<]&4D^TDZW]\R*TR\A5K[&]MR>F-6 M 3@K"92QEKP_/F\,BRH@\3FU/H*R"R/?D3CN9>--M-FZ2]LSP;B;NY\5U#)Q MZ103G*)3;BQ-44QZBB20@?7!*9=BME<;V*SHZ'33TW#V>GK><\PBA4N0$LA%!^YA:!,[2/'/41OB*?&!R5<3%GX= MM$%;Z:_#G+OP&987STCFC:.7TE)4*^ES]D H,C#M!,_(<[AJS.W3)1W]%G(LQRE<&T3HR=?+?>LBS'R]P"YIZ%+#:$("=*5Z&S6.83F>U0/AK=W.+8'3MM-3-N!KC^R\]7S>S>OAC]S M$+RT+ DI(;G$R/=3B5P%"@2"Q^!Y\$*)UGUP5X+9O1>V?UN/>QBJ3R7&;#*H M=U?/H?U!EIE^^/C'CPA"RX"8P&"V--ZT(9%KG[VBO9*.2=1KM3[?K 9C-: G M)C4T6(]%Q/!]--X%H87 M_UY+*Q:G$\^++BXX&-.CJ$HQOBC (FA$6V;!8Q)@G,\JBZQY7JNSP'V2 9%U'*1 M;#4XBHY ^>)8T";[TGQ[XBD>=&ZKZSR',37>VXR#,;16YCT%;ZZU[DZ54]5:D\Z!+(?2TF0A0ETWRCM"S.%[%> ME^*?N,AS"\?K_K9X*$6>Z\CT5.2Y49'G1C391;7#!ZW 9$-N1RFQ M7F @P(H8?;!2RMAZ17[<154;V7G-HJI-C-2ASN3>>.1UK$(+1T(KPJY,H8\7I,LQ."D([%LOAJ@[2_C?JLD!\C*]W"#2O?YR^'BTVX?\Z&4^G1]Q9XP0R$+F>%,[%@F,U/DV9_B<$ M+8"M-U4ZB/'$]P.@1X]\0TUYOIY.3S"_/)F0KA;8%G[6Q0K&5]]QD@8DUU$N MM1UNI.')7&U;28%$\$P"BJ)8C$I)UGSZWACE$U_[&[=#$\%ME4A:*SB8G9!\ MRV%V5#BG&(,;"C@,(PWR!#YGM@,O\WYR(Q%[B((H+6C$9RT!YY=KJM1Z! M_32NOSKS#.HFVYFRB\]$G^*AJ-K(F*M (5HN0),HLN!6.S "5+ MAA!+ AFE%R9:[7CK(MX=BO90&[E( MB,4;D%E%]$$;%=FA#:R-)'P:6[W'5C_"[2,A?Y>T-Z1<;Y67"QZ"$09T%)RF M$^X@&.F!:\S*ZYB2W7GNLK&,3T.L]Q#K2;I][ '*J]4-C/).<2< M/"AFR"[>:_">.R&B5%FTOH1KUS(^#;+^ZU@_TAWVML/M_K HTB5TP).HU[^F M"#'$.J'HG).)PK.=>X@]$AF'N$5QJV&L4#+SQ"D\$<2_I"0X-!Q\<-P6&X1V MAY9AVD[B!S0%'D9V=H<$.\#:F62Z::PY"9>LJQY3$<68)%7KIM==!7H:''NCQP%6T5Q8 5^/9I/!:#I(?PO# M$SPRBM9MI-!;QVQ \1C!9XY@"O=(8E) OO-,ZGV%>4"<;T^Z?IL.6S#F />Z M[UX$GWW^/,'/8897! _2&6DH@);)4#0BT8"O3?&0F&:T]S*'0RNTO+>P3T/I MH3&NU]Y#O%OPN''<]0$K)^CW+\:CN8%.PO 33H[%4/Z;L5\&EX/AV6]0IDM1-XXD%NE"7X4O(U<%D'>-MIZ&V & M;X*%R#E'KDL.H?5)\,.1_FD8/GA.K@RV=M;-=_+C5IUI_>0)O8UFHZ_GA_K/ M?]V_X^_]P73N"MQ(2X?3.=A8+5$6!%HM J@4,T06!(BHN+<:M9!X*-' F\/K M'%Q"\KPF>'A1&93R-+QU8F"U,MZ7(K"TOC?A9^PM(]-3 M"[N-6MAM1)-=] *[CXT?"G^5SMIX;D!X1P&UK<4/MGCPVNM0$B8F=[[Y?#"\ MW:B%W<'1=A/3=J#K[9>6NA24"CX!0TG:HA!W<05E$<$$:8Q6H37O?HI;9C>Q M^4:WS&YBL [=OE9>8%HOJ2N1@S"N@-(R0W!>@10TW*26(HFG6V9WQ: 61NK5 MU/IEF"WFZ>12E#Q$R+[H>MJJ0,P*H: U/EO/,FL=_U\"\!01W,\6'?;)?H Y MX_XZ<#HY\U>@[-$/OY]Q5IEY"\WVG G.8+$*_">&257WV:(CN2E"!@O2HB.QE(-H"_DOECO$ M)%G@5_J!K+B)XO)S=[_,;Z7C<1L%'5+_UN7E&>2MGLQ7JZN7L/ZXGO)BLR/& MK405,F0F7:U^DN!Y"/2C\B7+X/+AM(>YEX0'Z']V3G,?+H$>YG YZXEC59!6 MDO/O+%($@/5*\-KZUC'K0U),!W8PYQ$V%>X!#9(=L'3W ^H>%#ND4M0[!;W< MG^ (130H @GF4JH=[1!\H:5:)>T#=TX[=S"5IQO*]C22]C*2MB!8PP!Z[D[V M$_)"'NFWD C"L_Q?)]-9_>Q1O3G+Q, A&)O)+%K!_((M%:(2FB>:0-9SZ_<" M_VG4W#!J'@B;#NEHW)U"+ZKZ?LP3P3*'P7(PB4M0(DL(C@<(,AB79=:FV >S M$%V6[6E([64AVH)@AW3.[DXYSUIV7!!5HM?16PM&U+;)13/PMI ;RU*)SLM" MUGDP8^F:>$_#:2_#:3N:'5);BHV#0:%E2O7ZXJ+JW3J"W%>?1800A'/*U2O3 M#N8DZW;YAH.TPI7J_GF 4;/-OX7!9'Z:[>+@(7T/SX8-*LW2CXH')'ZZOC*.C(390(K-1;*R4Y6MZ1\Y6< MD,Z8$+TZF%X^#>5^0&/O$,A_@ -Y(^8^J-%[:V?:&Q3A7+#!D-=C8TV!9VG M&>=!I.RR<2F%P[E^K[7P3^/X,,=Q3PX_BNSSW2KAI ^I%0?D1H(R:EXFZP$I MQ"E9:RZ"/-ST]-/([3)R#]B@&Q'V 6? [U:$]I#^?VY];"/PWKPUR0>W+X(6;A:].,N[7@K5:YE BE)$53FO40691@'4.6 M?"KX@$K]-I'\:1@?YC#NQMZ'F?>_6P=%9.) Y![/P'1-??QR/.,EM7# $3&NHP@&2)XR-QE=#Q+EE7?(.8:I@UO=J3<.?!^%J" M/)'_4%G3,"+>7Y)@I2()0T(A;4XCJ8.9AF8X"TJFX0/_G!S64]CZ< T MOQ&?^K<'?!4FM8GA]"M.IE4%YRWOGHUF@SP8GLP&W_ CII,)O0>GK[ZGX4G& M7 U[J?H([-_[!-!7<3O#GIS<_8'[^WEF, M(<="BR%G-4QS$%+T%*8I'UVP:-V!32NWB;/_]B:[)^G5I@@'0I8>#31N1':A M?= Z^'JU4+D#VYYZJAP*&=8BZ9:6W ?C&/,Q,A9!&U93_A2IQU(86">3L J1 M^=:%5/MAVEU-71XJT38Q8 >"O:+ ;'R*.&]ZMPANSQJD8.%!%4.Q=J OBF&$ M:#('XXP/UFJ*75LW0E@)9@]M9YK:;=Q#Z1W:;-S>!)'5"U1%R6!+DJ!B$1"= M)_] 9G*OK0B\^?&' ^M:V945[93?89Y8U=R0H<,0N(&L$@G,2=90O(.BD*ED M3:9'->;$P72@[,J&%@KOT31PNW7VV?'X9#0[*I'K&)T$)D(];JX-N)(L9,Z8 ML24(DO*P@KX%\$/AV(Y3(+LW^LJUK=W].(O42!CESSC^/ E?OPS28#0?G1'Q^/G,PZ>B8@(*VD*H@$)$H&B=)3N"!1WWIW MV133GS^/O_UZ]L2%A<]^.#?P^?MV%]HU5/QX*ZTU3" N$?SU^9&R64H=%2U MB:+-B!E"8K0 S>-,D4UR[>SVU^>/P6X;:JW#>'O[YBC$;$@("3ZF LH[ [YH M 5IQ10&[%^;6JRTWL]O;-X_!;AMJK76!^;PH\<4<2\T[CF]'KA9Q%)&!,T:ZR:* HT ! M6-2N$/C FM]D>P^8NT^X[B7H[VW TJG#DE_PZJ_,-=?//WZY71:A^LNLZIK M@]A5XQSK)L8\[!RKL,7&4E,&,4I:0RA0 MC%BK3Y(LM+1X:]1:M/S)0#,>?3':)%QK;_"P3'^O'&M[RV^BW XYGP\?CT** M)=JLP0E+,F%*$)(-(+7G.5NFL[JM5\QF.9\/!Y-CW4CQXZVTUB''^L>SH\*X M9DD@O5>1 ,*9>@>M@%BRDL5XZ_"VXH8-<^//'H/=-M1:GSV-(*PP2EC $ RH M$AA$QBPDTKE![Q-7MP5,#W5/8RN[;::UACG6)8+W;XZXX\R5PBG$"+5OKZ?O MG"D0F!-1:$6L:C=/OC^8W/@V=MM0:ZU;26R0O#4ZPPC^".&-.RU.+3FB(%Q7F$ MD*T'HR+/@FFTS4\Q7,7P@++:VZ19ME)]ZY3UI8D84_YUWNCC$[WEW6AX>G>V M^<8)O3YG8?^4S\U^^ M$'L>E6J>]#ZH4U ]&;/1H:B.6ZJK#AFU->S!'&7:I4GO4.VFO8_.?EV_1 +W M[__R_P-02P,$% @ &(2B6+[.I_(6] S;0) !4 !G9'EN+3(P,C0P M,S,Q7VQA8BYX;6S4O7EOY#BR+_K__11\ZY!XV'!#?9FDEG>B2EJWP^_2.U9"HWB622LAN#J:ZR)4;\@HH@&8SEW__W M]X.)E5:Q7__$7_Z_>7P!?T34K5G?_\9??;M_#]"__^S__Q__X]_\'PO_[ M\Y>/X.V:;A[XJ@9O2HYKSL"WHKX']3T'?U^7_RR>,+A9XCI?EP\0_F?SVIOU MXW-9W-W7(/ "U#_6_[;\6QI31%E"(0\2#E$8QC"E40 S2C"-$D(H3J[N_A:E M4<"#*()QGN0096$&241"F/J$^RFA"8VS9M!EL?KGW^0?!%<<"'BKJOGG?_SE MOJX?__;33]^^??OK=U(N_[HN[WX*/"_\J7_Z+]WCWX^>_Q8V3_M9EOW4_';[ M:%6<>E ,Z__T?W_]^)7>\P<,BU55XQ65!*KB;U7SPX]KBNM&ZI-\@;-/R'_! M_C$H?P3] (;^7[]7["__^3\ :,51KI?\"\^!_.]O7SZ<)9G]))_X:<7OY-S> M\+)8LZ\U+NN/F/"EX+X9K7Y^Y/_QEZIX>%SR_F?W)<]/#[LLR[U1)9>9Y-*/ M)9?_=H[83Q>P;XG?^IA7"\PU<#_9XG%,II^LL7LK+ 1WS_" S,4LMQ_4NQ6; MZ]O=DKJ8=?<SO!9[,@,6%[*'WP4?^O(R(%&C&E#IS/= U;Y]YJO M&&^MY=[0H&#_\1?QM\6F@G<8/RZ^<+K$557D16NY!6W^H>8/U8+["0ZB@$*/ MYV(-RW *TY!BF'DL1@$.4P_GBWK[<2_X"O[VM>>C(:9(Z2\:6.LS.EOR:KTI M:;O:">IRI6\9^L]#NN /21DTI/^_?_]IQ^XEPEK.)X+E#.C7=&_\I5S6U^4A MLC551[;3ETI :V#EN"(-MFZ0G^1>ZB>^K*O^)U#^I%&::3H_'4W?==FCP"6= MD&SWQ$]T+78TCS7<$W)>KA\TX=9KS9EO!2W8^ M8EXR78M]Z M+1%WG-_K&I M:KEYK6[7@HA@OUARL49^$!O>!_YQ78F?O\'5_4VY?BJ$2?CY^;>*LP^KSX^\ M%)RL[JYI73P5=<&K:U+5):;U(F*IS_(@AR&/?(B2#$%,N0\#/Q2;VC",@@SK M:+X+)AT;C0'+H%Z#LF<:B-T26 J&Y4_EWZE@&SQV? /R#-8]SP!OF?Z;GIEQ M,JEJ%NJEITK/N!W,TI9?(!@&+@$4[Z5*^EDRL$Q9GMH9TCU)J!E 4WQZ MAJN'=CN*2=NZG&+>DE78&WI6;3X%ZE +3SZCISU562^^B#GBO_('PLL%C7WD M^5D(HS3R(")1 C/FQ1"G<>:A.*1^S%04YV!0*8I77M')59 ME[@)J(>KW=3C>KK,>+%XLW[BI>)1\>AY=Y]:0\;J.>PL\R<^IXK3O]ZMGWX2 M[[1?DOC+[@,Z'FF63^8L@/XC.?^ F8E_7WSG[*8LJ/CB5LV _08IB&.2,"1L M/$XARD,.21AXD..,8)RG/.2ICHT_1\BQD6_(PIQS/:-]5BQJ5ML&6#U=:G$V M)$%/$_S14K5HM:> 63+;9\G,:K>GP!X:[LGGS514NA?D_]_]:U,\X:7T17SA M0OD+6G,F?W&]8OL_&#S9WO-]6-%2KBIO>?M?\>_E1@9,O/M.[^5V\0NN^;L\ MYV)Y(#SF?DA\&(5(*'Y,4HAY'$#,HH#'-,]XC!;U]GIK4A?F95_+G)RY"AQ1 M,^EY+#IN?OJ!=?S\*'[6NHKEYK'Y"]]AT+,\,\^VFCU[O7.HN>,0G%VUGN(! M@U=@QSMH'Y'S>/##_3=:4*!'!7[HW""SA/*TYS% M,.)^!E&* IA%/H4^]E*?BB_.#[1"& QXF-%%L;O$:AT2'4.%KM?<1-*JO@JG M\M/U8TAFK@[%=@6V'%W)6T/"P0TNV%4OSF?'3@]C"5ESB.AS,+.SQ%A$QXX4 M\Z'TK-@=>UXM?MW4&[S\=2W&EX:R/T>'21"%'HP8 M]1ZM"]!?;NVF\;3&3#[76"@O;,.__VWDS5F,T#3GO8U1>-)L(_3SIBI6PG!= M4[$9JPHYF6(O1N7$WO'/^>]K:Q]TF5@L;84,F9AU-W29H XW1!>.IG_Q M=%MB>5K\^OQ ULM%ZB$L]CXG9 $4X6I=N)UDWNG3;'VFV2[>3 (:7;JKGLAKHN2^E":8(+N_VBPL<_-89C71"D0?\!#8FK:<6D ,:5Q"9V/9TY!]OB M%9LJN!&M$D-T"Q]E.ZV:''@6)5.%U^N<\O/Z*OAF_?!X3>76??DLG3^_5]N MWIW+2U$55<9RK)*2!;ZJVOR?GI?&JP6>JK\.@N75=51)0M.Z:ELXFI<]JG(! M?UAU]NDB-U)H)0*S*;8.W*&":[VGK^B?UJM/?*VYN.Z]Y%AU!2WXZ=UGC=5S M']*T"AJCT=.U'HCE]? D]T;ZLC_2;(IQ$L!0 TX_8.8ZZF^+/N?O<+D2JZ:\ MQ?MZCTO^,ZX*>KUB;XOE1B8G[]_ND"3,:>P%$(6Q]!T%&*;B!Q!3%J4Q9I@A MK7LT0SYFO$N3=F?3>DKE/QNVFCO_CC'0,RY=(Z!A7<^I9#H5:EZE&02LI_Y# MV1Z+[NJ$@%W>LETH'DON)5,N9O4O72BJ0P?3IJB_V9UQV;(DD52++0'YXF0<>!^F[@'/KI?8$%X'HF8@(S^$.2M[1M MF !GM($X-^9L6XD)4,--Q=2C!EZK;[ADU9OENN*WZU]7C\7;HJ*-$BO[K,Z. MX-ICU1 ʉIWE;R&S3-?CUT\T'()D0O]B4JE$T$\)0\%]9D8.F]TI1!-VJ M;,N9-8G4S)5U?MCY'%F3T/;<6--/&Y8'62[7WV21MO?K\NUZ0^I\L[RF=+UI M0OTH+YXDD3>;LA26=A%$C/O$SV 8$5]6_/$@B:D'>8"##(4Y\K"2-AM1=^^6 M;GD!^;H$K.,&X(X=S0(=6F)5V[([$Y:F)>A(@AW-*[ OO#S9!P;DYZNK O4$=:(!#LOG'%+80^RGDG8 MHAW0-(F .X];(PK."GZS2+A3):C0>[OS;\\7$32+8BXN;?MILO_/+ M>LV^B9%OQ!3>XXIWQDW>#^[J]"P$.)YP1B"/,)9E=RG,"(LAXB&)(HRHKU?? M3(FJZ_W-EI+'K7>F^+73S";PF8KC>PLG7F3Q:;@'J6$3;Y@L.YP7OY2KC>/31+G,=6K?'22BF-U/BQ8H5^#Y%@N:JOKQ6CU%/40 MJ(.:1Z.(+%;#.*8Q>]&*LS!/U98X_["9-G[A3WRUX5^XK/8I3H6#/?=GLBSN M&G?>N^^/7):KN"T>Q".?\Z^R9F@N:[&O5TTGGK>XYM??BVH1T#1.F<=ACI@L M4AEDD."80A9Z<1I2'[-,JTBE7?9<1YBTS,K*-AV[>X?*'<-7H&<9M#S+;>J0 MZRO0\ TDX^ /R;IV5PVKTZIFA5YNLO3,U\O,DT'_#Q?BM-8TQ"IS,W<:<2'8 MX_8D3JB8F?GCFD+'=Y2+) JC/,H9]',<0"1+VJ>!^,-'62;D'(?,BQ;#QE"3 M%D&%K)*>3_:]4KE^U[U9U!*>FHFT)A CPW>B<)J,3#H1GV#/BND@MF2;E$C. M:G%TA'!H1[3>M64=SM3O67@\33A/.8SB,(4H]3'$ ?9API,P8TD88;W]G3)E MQUNW7<&J9:,@RXZN=J$O=5&:&@P+ K)B-0Y+HVTY<6D[)L [,R#GZ+ZP%9D0 MQ[0IF1K */WOPO2 \R,X-@(RG\Y:EL"('*9=L'9$H*?F"NBMY@M,8S3-.7SQ MK(%I: ?9B'9S![:EL7%1_HZ7F\'M:34HY.E1/R%9 K.<)A!%R(<9$=+T_4S\ M/,]SQ$*M6O-CU!QKKJ0-GB1QS8KSHQ)26Z&MX=93UP9R0_<@F>L>B]8_5J+\3X_2D]!]>X[+VE1<;9 +$X\ MGR,8\81!%$0>)%E&81('E.?$"UC@Z_6FFZ#H^HJTHP_D[ #>4:VD(ZZ2[(!U MRX]N$[LI.:KIOE7I:%Z6[@FF(0XZZF!+WF8;/$6DUGKC3=&;N6&>(OSC+GJJ M+QKF!]X^W$E#\U$CVN[D>^Z^U(9<[T#?6ZL^V@ZM&T5FGOAV-.*\.6_G !VE MNYU]T"#=I$\@YVQ8TF=P*/CY>??(#7Z6/VJ8&/BYWV,JYFJ1>-1+<,S%)I/G M$*7BCRS.(IBP'/F(TC3-E=8DRWPY#^[972GE#4'PN*W[J)'B87$BQDW#"XI7 MSZ T#$ B.0#[]:8&1U;R#(;/=:R"AM>KO?N^EMV7F1&-+)V7F1FSM)YY9T@O M+\B^'$<3B2R2FR_SR+Z,]E*5' ROOWOZ7-_S4@[89;-H1(V>>-7U_82DN*<3 M'>DK[0#14[BG]XP70M8S\.9HM7:+(YB,]HJGQIMMIS@"9KA/''O,M)GEJJCY MQ^*)LP]BG5C=%63)KZN*UY68K+(N_GL;Z;"J^']Q7-X*Z?(%#UE(.!4;PH03 M\8?,&)1UJGWJ(1Z0C 1,J1GXA7PX5ESQ@<2Z73#-Y*GHK70O)4T_9L,0;#@" M.Y9 P],@ &O(W160C(&&,YMM-B\2C;4NG&9A2&!<<(91+$XMV9-V9:4!:F?<T%WR#?7O.>0T.HBC<>;D2E>?Q('/H!>E?D33G$6AEDD9)^?8BK34+N]0JAT+ M80^UGD$XTW?453B$&DR'S4-?*B!"#;A*2U!K(1%OU@\/,E="C-3X#*O/F[H2 M9PC9P&2!4(B\)!0;A=@36LV#&.(T"& 2>&D4>]@/@TPKJW2$F&.=;DFW00]7 MH&JH@_6.//BA6'4__E$S\71,@FIZ;TLN>EK?B>1K*Y*6L+ !.](6TU$5 -K* M2ATC-6]RJ@+HHQQ5E7?,-'W?@+Q95_4B8%GH(Y[!./((1*&?0Y)C GWDDX#1 MW$-9HJ/?QR1<^_4/\@ZH(*FGO2>DHJ:SEV'5=.@?]@-_,X936SO/0[&DDR<( MS*J)YP$>ZM_(DX;]3?"25]ZQ=]O\/.P$F](O1CS(($\#RE$LA%N MZOLI1$(MQ>J*$=7K@3M!S[$^MB=)S!AGH,;?P6-+7+,/R83(U/33HB#TE+4A MW/0-:4D#01MTQ!T4)U;$::M!R 2U>1N!J$$_:OBA^-J<45^R+D7]_&%5U643 M+U(U%XVW]WC5!3P>7=WOZ@_^G1=W]S5GUT_"=MWQ7P2Q)N]YZPI8B'UZPI'8 MO6<^01 Q'D'"D _S1)@8ZH<\SY3N"E\QQAFCT3"]+_A3ZRC#NQJG\@#!ULLE M+BL9J=8>)A3/$J]8L$ZCWE[-)Z%IXINXJY\5X[-^/A6?U2(' ^B@#=NH!?@^ M$OU4&->@5.P5Z&4 .B& 1@IM/8V=:_?/_PW.$>?W:KY%LYC!VWL.OO6? ^X^ MAWR;V 5PD_1QUWP?3'X?PD;57?F6>BWV*X W NC""7$3=?XH2(#U[KO$7=;( M#^([W*R*^LL_PE"*6>9.SMAF?.P:GA^-07U:2-OG3[GK1OK M^@D72[G)?K\N&QX7 68^3;($>FF$(8HR#G$:(\@YCJ(LS0*&M?)G73'J>&.Y MJZ'5^:1QST!C3EM[;>R;=C9[BF?P5S GL^_L6MZ;4F?MC%[OS6@#P.+QW[&( M;?D-7+$YK\/!L;"//!6NZ=FX2=A6/?DDA-BYZ/P@B2,D:\!CGT(41L*X$XP@ M\C#-*?8H(=3\8N$$Q9GO&0;UC:[ :LO%)52B+VE(&29)Z, I"%*8>9I02S9H*9XFYM@.2DG:MA/.B45-P6X#U=+NCVMQD M='2O.A^5@_! !8CV2B.<)S5W581)T"<*(DR_7I.J^9E>->.IT=Q]OQT#;8&/G@7P3? >B; 'ST;]NL.JP*W6U!X MDNI+5 I6%<69$L#*KQNN7>*K^80?^-NU/(DOHC3QB0Q=39GWX@"\7ER1BAYH*D#DY__3F)P=:* MLS_XO&O,26!'J\KII_04JJFJ6SXO?ONZP"F)44XYC%/N0133"!(O]6&:Y5$0 MX"#T4:RB1+LA'2O.;S*#CLER]+5JY/< [KB>F('0TXW?/GVX??<6?+V]OGWW M]7*U.&9Y)*.[>[C5A.X?.R48##7+AW_,>O^QG_B-H?]#;KG:_,K!83V(LC1@ M&874]\4WC[T 9GX8P<@+HQP'6ZV=)NH@GW MJ7MHY6OE&R.2749G8+&^S!]1]'9N6W&LI6+,'7J,RS?Y[AL%) M])ZSS9)_SD<(M6VV ^I'@>\GD*=1 E$0)S E:0110J(X]:.$I'IY-LJD'5N# MGA$9<#*N$F:=RS5DK&8QW$A.SW8<%\K:$YWU%N?ZF&W%W:@3GC>21EL@1[$Q M^B.8&9EKL>=EQ7)3"P)?N3BM-F$? R^Y+,#'8H9A+!-H$8DBB!,OA@%-HECL M+FB6: 6[3!%T;%"&Y,&._M4E]PJ3,E0S'38EHVOWFQ7K6XQ'LAA[(+<2- VEWQ?#-/>$(4!) MFF(O8QAK[2Q.DW&L] U1\-!0!;DDJZ?@9V2CIM:7(]93YA9L2Q T%!U$M(R# MLJ2W9XC,JJWC0 ]U=.)I,\W\Q&O9W/VF7#\5C+.?GW^KY%Y@&_5V385):(S! MPJ=>$@HQ0N3Y&40Y2R!F 8$)XTF>Q]CG\F9R7>.EFK:JD];2X"T#RA^U8 10 MP0EX[%B18>KK;7PFWO*AI]@:HE53=C<"TS, 4E:2"7 SD-4/DA%0K'X%8#HB^00Z-B,()K0[-U:2."N9]%#/($Q[+E;P*S-*30 M#T(4\$!8H1SK; _T67"\=6@4*5^NOW6]M.:T.9H7!VYEY]P&.;F),)?)[&;I M96XTS 5D;J8LAS9>?R_$S@?Y:>93"EF(FDPIE*4X0UFH8,!S< ML8D91/Y):H9!C8T4U R%*38]$Z ,RSB<<.()"R7Y;.3 "(_BB#Q/1]F/DN)GT1Q&GI: M]PECU%Q'EK2U2'8TC=1L7%Z*=P.VI*"GB-H"T+\ 4 %FR^<_2FM>-[\*["// MOM)+9DK][N%QN7[FO$N>.9-@NVPF5/SM<_Z%T_7=JOAO+IMG%6LF2P)6'[?= M0F,OC#)*(IAX0081"G-(@LR'?H*9[Y,LYEPK6\ R?Z[O'D_UG]ME)[?M9U9- M.9D5$[O=QZ+&2\EKWXA*K8?I+#.I9J!><'[T3-K) @7VIT;;$#H2H"73:9N[ M68VM(]$>FF=79,P;./_*Z_LUVQ7;5VQ#>.9UU]>KPW;.+6GUYH/G$(\;+TM@ M-6],CW%:;B>@ .NBGM6'8\[>M?H,J%-]J\\]JJ]4MR66Q<;%6O'S\X<5:R-[ M%#7JU+N.U:DC.5S;JBOI2A/TBZ>";?!27;U.8I_6K4MAZRF6 F)[ 4Q3\(P4 M[.2 LVG7&)RA:HT^-W,QM:X.W.]<5DQL2A>W;1UOU_)'[[[SDA:59/"@'%SW M&WY3BI5ZP3V.8LPBB%DJ^X:&&-;!NNUNOFQ_*@M45ZHF!O MCQ8T<%]!73BKT_;2U>/L@/ESU)BS.G'6*M'9YTV[Q3VN2!5^)4 MRHLG2?EFO2SH\R+& >6AG\+$CV4<7Y3 U(\#R"(OC+W0YW&J5+- BZKKPZ8X MAG]KJC#+TI.TY*RHP7)=:;>W4Q.AVHIB73":!]..(MB1!'^T1(&3=G=:>"U9 M3#6:LQHV+3$#6*<)BQ",/MPE 8P#Q(F?I%C M%&OE#1X2F.%HS,%*T#/0]:$<--3:$)W^"9@W%^OU B!O4;#!M.JA9Q>/DFDWI0C\LY.&@T*9UF'U95 M(9[L?&?-LESPZJ9S]N2;X[WD@;.-_'+MWH]JPC;R MNZJ,/YL;5@/LT"NK\YK9-O"WBG_.WU5U\2!KP2T"+THP9@B&%(MC(0L13"/? MAQ33D)*,9F&LE=VY/[SCM4@0DWGAO">GMQ$\D(3:-M I8[C<[2UO!@\%DWAJ>!'6X+SSQE6"?R>N$G:8+CF$&42N6*J3AA$1+ .,DC MS^<48ICG06E$F*CE6BIP\&#%R!G@7#@@'38E1;C:P*1T_A M+I6+]MJDC-72*4M/9?Q;@%#Z],+038,QBSX8#S1=P=H+]O2BS M4[]_F1"8@9OB@UBQ"W$T;\"^.ZNY'>R[6O1\]+VA9TW8N7\[*DMYZ]B3O0LD,TXD\_# M*=T"F&CR/'OHR*207TE4R'D^_U0!'Y/BMAW+,4W0,%L9/\N[W.IZQ:XI+3=X MN+F^(8NC'-(M\$A"J5[YQA)9C\]Q3;MS)/6V5S'YM MF:F95$N2T#.*QD+0SX2>AFC\"(ZU5.>DH(-[^EQD![*>.@YH@IZHN\/2-$*CH]/(L+,=I*:A#8]5"D\; M>!SN[NHW]ZN[FU6U$JORA]77S<-#.W!5KV[)\OVZO'YUF7_KP+9T]- C/>A31%\CAR<1@!-,0U:\/>+GL+X,6>9@R MGZ$4AH1Y,OB;PS0A,:08RPHON;0;>C&I>^,[-@Q=R&5#$O0T=4-.]P4R;@$L MP-13MHUQ-H5O[$;_ZV$RZP8SME1YZN(,P5LKRS.Y,.FG6"KBO-M+>RF M0^CVB-?=0E=O-_R_."[?%T]\0=(PS3D-(.41@4AF[F=!GD,4<,I92M,8:176 MUV7 M?K>\Y+CO%9M[&PL1S7/CDOIZ.EZR\G5H$)^P\S5T+-3KP'AX 87[ I( MCH!DR6;W7C-A6.OOJTE^Y@[ 9L(Y[A%L.(YA%V%RE8WT_SIO9;E^ UJ)WCTG9%75D^IV)3R&PU89X;^QY>PZ?@G748/CD0X;[%;Y)IF&2(PBF3(.TFI6(%C#AGG. [3P"-PW(C?O JP(_FAY57U/_R;A MW;_JY^MO):OLQ>1J#.EZ+=W&@_XB=B)UN_;L3N!-J9:VRU:[-K5WS?;#;G6$ M/'V5X4B^FHNY4]%:CJDUD)C1M8D.G=DN4@S #Z]63%[7,T-W['FU:&JH?KT7 MW\8M+Q\^K&2%^\:9NG7.O"TJNES+\(6%GX:>%XM=?>B)#0CB"8'8YSG,Q6QP MXI$L14IQ!MJ4G;L^!!=0O/@@U&/+AYJ=T9?BN*5Q*AL]6]-P 5KA2#[ @)&K MH='9,>-*9FQ--_*7C:UZ&=GML:#G=VZ2ZX$TP-+2"A,]^,K NI%R?8]7>S\6 M=IHWAOQ*_)4N-VV>-]G48+6NP;)X*-K& N)G>/5/4!Q*%L# M+E]O;+07AGYCI_4'G,52&^/L;;7Y )=^4'S4!P4.0]@ MQD)Y/14QF*4L$I.1!(F7Y7' _V;\+/TG%]1M?>[W:WN@(,+O,U3(E0[.UH4 MC)Y9OE0FAC?3T$]?5T^_9NATE5G9?)OS4/"J3\Q!J<=X M% IM1WX.$95-G1C-81AP%*1ID"2>5GW2LY1<'R!;NH"WIVW-3*;S\E'TR]I MK7FLZP /:#I(29H$9LMU>Y;.O&[<*;A'+MW)%RZK RF.<*18-1O(71_4#TP0 M*/)"GK^OA=FHJZ[@G.R0,V!%_$[L/]NF%Y^$ %K.VC<6J8](BM,(IC(W">$8 M01)A!I.$Q1[")([43F:S<>S8@+1'E]66*, -5;.ZD^ZF3O:K)T+-KV[J7 M ]ZOP(Y[,&0?M-ST93';'FH#"*##< 7:Z=W!Z-ZT7S[3N<@ME]]TQ^^+E.]T M+OYSY3_=$S;<^@D&6+'>)!@+X ARB*4\YAEL58!+2MP==$7(OQJ'/40C3E&40D4S\+-51& M7-W+_\M[[R>\Y$TSR*HN"YEY+7\A=F?[/Q@\N?"C* T2YL$XPP%$$?$AR1B' M"65!F$0X8GZT$,M_L69?:US6BKI["4\Z'_PA9^K?OJ#9'+"H_ O?4;\"A-\5 M*VDTY;+;$M T !?-".4)H8Q+#P:34:0A@81Y!(;$(W[(Q PATLW(.['O?HWS MT?-E8S:X^.F+S(.BQ9Y+LIJF71"Z HU8WPVEN6,%M(](H1_\KD)5!#8_PC1^@ M%,=@'AW\1A\V4\9?UFOVK5@N%X32''LTA7' A?[QU(<81V)#&.1"&3.&2:X5 M8-\/[%CE>C)ZRK9%K:9?)ECT5&H2AK8"'?)L26>VP\ZJ)H=@#C7CZ/<&@:#& MJ61MN/&'E=#')CZN:OS>M_=XU;6(N.%EOBX?L( JSGUBVG9]F&Z:3>W1 POD ML\#WB >C6%YGYBR%), ^#,. I)C1.(Z5$LE>'3+'YF! #V!Z7_"G-FL4;_FZ MZ@X2\C_;1_.&-XW8S=G$&]U6?.S W-VU2LB[WD/#[ZQ% M!:X'GUB+_,13?]9/3"/\^#7Q[3Z\^4_\R>F%0K_&:1T-M7Y5#,\7ROVJ8)\* M%7^5#!KWZ'IH72=-5X?;]2W^+DMSWZ^7,EOA_;H\#781Y%Z<4NQ![(5,;.\\ M+ Y;60A9&.0\Y"RG"5FLFC0W=JO5Q\N('R4SF;5F\H@K];U9QYUTYM;X.UB3 M97&'V_:,XK7-LNXOOE>\[H(-Q(&W7K9&5+PELPK$,U6]IO\$6'X3FDX6XPE3 M.R1"<@ $K5Z>+J.R4T&K/L8N$8J\AF1D; M?F*W&/-NO>)]#Z>W&WZ[?EM4_]K@99$7M(M*$'QT/7 JC6KH)F,[/G%V+.TZ MA;$-EQ47#]F2]DLJ8<^9?DMI(\&.&ZXY9*IGL)R)4RMO^Q*9&"5P&Q&<+9/[ M$G$,4[HO&D>_7OQ-N68;6LL^CE]Y^5107G6Q."'%'&>,RL;87-;(99"@T!=_ MY'D0)DF0A4K.[E$JKEU=+=WF_K8CK!FN-"ZC<0$Q0G$D M&SZ+0V((4>BE,$,H@E'@XRA+&4HCK>QF*^(QJ3@Q%(YWX9D46>O:L)PE:>7SNLIBM5[^:A&;IE'6>SJS'J$FXA^>DZ1=, MZ_!V)1&:5.@WZZH6)BX.8L9RF(<9@<@C"<0(4YAR8>+R%+- KWG[,0G7JKLK M%K/DK<96BL>8$;&HJ>AE8'5OD[9U7[I* V_&@!J4E3V'Q5J9V",",Y=]/0?P MN(SKV2=GKG\]Z63^O?%!?EBU'N6_\^+N7OS[6NP0\!UO2I+)BF3;LB<+%'E) M&'(?!J$OSAL^\2$F-()>C!(_\@,6^N$L9;1M(W-L95INFHU^R1L[PYK4,[9> M+G$Y2$C3S$)[-?)S7;#[)>?;Y-K^@KK?(W>H]=X=:O=1R>[<#>@KT,,&'>[3 M505?02UQ5]/YTB7)K>/Z(GQ$4#MT-&'&_KQ)<4N6GA=B11-:LPAYST M+(912[?/JQ?HZ'9.)C-W=CMBXU5V>#LG+--.;V?',SPQTWO.-DO^.;^POD!3 M1WM!A3E+4HYAG*091#Q.8)KG&-* QU&4$))&6O6X[++GVD/6,2LOJ2V5^NCZ MN.JVE;([J8HGUA>;*CT[>VIFA&G=3LR[FZ_@#5[2S;*=EZD9T#\+.A&4K0.= M7>;F/94Y$>S1T_% 4_P\&%%UP]B@:B;8(I%&$<^B>(8^E'N M"5N,0YA&OMAI,N)GQ/-R'&2+>EWCI9HM'J&E95BW%)55=H\R$#MWS7O5,2FI M&3=+V/4LU3[LEBKXX:. _^,5$.2[8*@K<%W794'$AR:+"8H]X@VV6S]5 ;VM M!/T12O.FWT]#/DJN5WCEHL+'[9ABN%UA7TXBJPC7ZLI[UE*CK=.?1W@HOW(:TG9J/CQ"1FI:;@5Y)H[D0YTI]D-47?5C\\C MLUO]^ 2=EZA^?![NF>K'(R_H:2WCQ:+?5XK-P+UTN7["#WP192C(D#@2!6&: M0A3%2"AKC*%8C/T IS0/6T@53S4DH/ MI+(R3B$9"1\6K[;J)_ZRT[JS \ZB;%-P>AV;?,YL07S+2;V[H_@95T7U5:R] MF'U>_8[+IE#M%UQS?Y'BD'L\CV$6T4BJ7 0Q#3T8! A%C'D1C1.=]5&5L&-5 M; B#JJ$,Q!GUJ:,-2D%<;]U4%J7:,NI"0'H:+#D8W A?@5987[?"ZOD 7\:$ MI;W,ZB*WM.HJDYUU$=85QN&:K/W^!6V<;\6[3?=BQ&@8!2R"-,[%9MJ/?4B2 M$$/FQWF4)3S"N=YF>CBZZPUTT_50$C-OX[P5A.*.V12>YBY9&9E9&^=#!#;; M.&_'GK^-\R&LDVV.[Y5F/KK++OV!!T+ '>T9PI?,[N#"O>.+S: M>=,\.+'-(;(XQ0B@C#,**)B"TKS(/)YS/52 MO.9EW_&J]FDCLW+DA4?#LZ9O>.:9M+1ZO=C\V%^][(1Q;W&)OQY\#^ /B15T M8&U>UK_(++WZZ.R3S+^N!(R8X\6B)]UD$?&>[I6L M+Z59-VI,8#$*8XK"%)+<%P*+$8-I2CP8IZG/@BS.HX#JA%=8$YA^?,4\ E-; M%FV)06\1ZZE>@89N(XAW.T%\&A&$?F4L!82VJE^-D9JWPI4"Z*,J5BKO&,;K M[[H6+GP4>9R)/3=A+((H]Q',L%#I, IP0JD?4MDY7EV1!V,[UMM;^0I8[NAI MAM@/A*"FG(;0]'3QHP(>_=CV8\YMA:L/1IXW OT8TE%0^8E'S!3FJ(5O%(A] M @XPQ%'"H-@N))!PZD&A-"1#0<1"KK5?F+E1\L?UZ@Y^+)ZD3\R@;8=A1^/Y M&A"KX]-6)<A#E& M/N$>##(20Y1Z#.*4A3!,*4:RN("?:,4R*-!TK(1O!C5_KL C+L%3DS%IX\9" M1:)J2FM93GIZW(GH:RLB05]\5J#EH$LOW>:*6(WW545L+^YWDN+<\;^J(C@1 M!ZS\ZL5U5M]]?Q3?2Y=A\.'A4>:R%K1+&[OEW^N?!:I_&A9:51O#=&6(/A#<@4:MBSX4B\6B8W:JHH47ZJX MJIY 1JJK:@YDMEUIG)72SA5-F?U%@GQ*",MAD-,,(B\G,,M2F?N99KXX$)"4 M1CI;DX/QG8=,]!G7?6&SGK#FJ>!0+&K[BPO ZMF!]DYE1\G>AN$,!$N;@\/1 M9]T(G(%VN.B?>\Q,O[[PBHN79#O.M_R)+]>-VTNH-E]5?)$&2>!A#T-&DARB M(&60^#+/+V&)AWWNQ4FFHVVCU!SKWKO57;'BO&R:$Y0=(VUW6K;C14\-QZ6G MII369**GHCW91@ #PJ"C;$]EE0!:4N!Q6K.JLQ+L0^56>^G2 @SFP3%MFC[/ M,NY%U(>1],,A#ZN%BB]8$N?YN@NV")CNS9[6 MRR>Q7WE3ML2:RK7JCL^3.*?]FI="U%.^ MVQ++9F5[<:2JB+5\DV.PC%R/)P>/"#9$A(\$>PY0GLF')27==<)K;B(?09F#=BPEA 1S$5YB.9F:M?UFOV MK5@NKU>"3"V^OD(<#]IXCEV)X*T.)3%+*/(0] EC$'E!!-/8RR"*.":^)[;Z MB=8EAQ9UQT:JYZ7Q.^ZXZ6*'!B6L573,@JS5[)4S">J9*JO"TS901D*P9)OT M:,]JEHS$;'G,\',0IISPLQ_N3%X=1M?O"'JMIPML"8 M(B;=\=3S$XA2@L7ZB3',_9PE>912FFI=D9ZAX]JCL!.5 M/R>!Z671 G@]]5/ [2"(> *FT4IY;LS9ELH)4,.URA_@.^XO\CP(,ISZ,,A9 %&>A#"+2?,'R?S59HQ8LZ7S0%I4 K: M,KFH(ZZ[6(Z(3'7%M",(W65S* -)]@K<3 O!8.&<1F=M]1PA-?,2.@WZ>!U5 M>,_&P>?AY79;K;_+^'#^*W]3/BS2+DB @#)(TX1#%)( I MCZ2W*0HSCD../*VX%1WBCO5>LB*#T&C#S!5X:-D I.<#T(X1W?1Y#?FJ&057 M4M,S$KW #F)>KD#'"MCR MY,2Z$1J*=:"XT]KG_: M_K"J"O'D;+_&=ZKE[R=E;_EAR6K3A??QQR9M ^16[?EB7=?'?S<_/5ME:X 3%&4>A M. 3@0"[7*]%BQ>\D);4%VQ9K2FJ3M6HS9%!]"\RKZF]@ MP"Y@ WX;'<(#1K5;E=F9(+7-PJQ"-VV$MI7SD,4KL&6R$?F0S2MP4+/O:K]H MG]7^:5;E9Z_=FAVVYN[.9E68)YJYV1W?E=J-6B?$IF;O[ E#SXI-U!#]950< M]JJ([J%T74>T)?8Z*HGN 5>N);K_EF$.M[P&;2] WVYD*8.V-T%[,=K\\J!] M 5MD'L4X2E*(XYQ E-((IGX:P82%(8TYH5&FY0K19\'US6C?862=MY$*8-UU MIC$.43 0L^='LG>7!SFFB3"TH;"Q*<70"WC"(R\D' 7]%O83KU]4UOO[U9X; M98&?;OPSEZ#53+/;KU3/7%OH6S#6=,=BHKJQT&QEI.LS,&_JN;& CG+,S4?2 M=\')/JA,#$0W=?'$/^=Y0869-0A]F1S(L:EOZ(,M Z#GP"0&9EHHTUXWJ_+0 M,RK3HG 0%J.,U\C=-CWZ;.XV9:!#=YOZ2S.WB>I,R>=-7=7BK""LS5@SJR_K MY3+O&@REU/?3A'K0S^)$%@#C,$O" ,9ABG.,4!XE=AL@6H?@V"*9]KM[+1.L MN)MZU=/V;F)>NG&4.8 _1_.HBR?(6@.IRSEQ4)JR"V(( MTLR+/4H@2P+9RC#G$)-8+%)>[E-*)^9B]3*5F=22K\M&SW%,E M*YV42E+&.T<%RY3!*.4Y1)R' M$/M^)+:L-&:(9BEF2E&EAP.[UO:&E)HV'V$>5]E+D.CI94O%HO:=8WU,Q<0[ M _42_]JIUM%PL^C/.1"]DIS]O:5$Q.M-?;\NB__F;)$3E&S%4\\8IAJ-6F7C^L2;'D56?]4\]+O43S.V0?--$Z<@XOJD\8I$9S4#>H(XM V: M;YL9C .OV*>--$*?\[?%#'K._1QF$?-@R+(X MHIR&>:Q5Y4^3OF,3TI$UWY'KBE,8XM!C20AY@,0A)_ HS,(DAKF7QC$/8I3D M>"'&(NM7(- A'_IW3;B[8%@U'#5Q3^W.?[WC!D# YIX"-6/N4*QZ5OWHPN;3 M5I[=26KO?J=CT)YQ-Q2$)2NO2WU6TH M+[N51UZ-R+JRWXMJ$5(<>DC8J)RD1!SC9N +;G5/'"OA#,J-9T551L*I^&MOBTG79V)&42:4,#>#V:F:H M$)V[>H:&($[4T=!Y6S]:[]?58R%KOMX6#YR]7\M>?X^_XZ5.JNS($*Z].I]N M/@SK$#<<@'Q=[L=:-#V*U6/UQD0RKO46I:&GYCJ"L)H2JX#6*#IO;-S9XO(4 MP TC\E0>-UOK/ZQH*Q@PBQ )Q MRJ,$8IHP[OL!]9FOE] Z3E#I.[XD3;4C!HH5%08/U)*HWB(^(3&UQ=N"% QS MW%MZX(>>\H]- 'XGE=M1<6BOU&HH+:W0$\1F79G5@!^NR(IO79!QU1:,K=I: MA N:!2P/PQ!2[H401=B'A 0<9BQ*$*4HRD.Q@9?59M54^YB$UB*]):3\-;>U MAJL!V?_Y;VG@)_^K2:K4K4YU0D(!\BG+H@CZ*$T@$N<=B'D6P"B($Y[D.(J" M:/'89CS4N-3)AC*6TR$Y=>&"&(D-FV(^0GWM )BCDDX/F9U!$%#43<8]$@<:GIW M&4@]O=O#YR2N\QP6:V&<1P1FCMH\!_ X2//LDY8K4NQ.P[O[7Q1B+TY#!A,: M"$TD+(=9QHBL^LN)ET<13K2J@>H0=ZRCYZI5K+AF^+:60-5TV968]+1\M([% M7C;B%.G74?1B1"C*)3#&QC \GJWS^IO8C DJ_5\'H>9OUE7= MAX5Q[A$_(!'TN.;N6UENBIMR M%]+0LR8]W<:,;/\QS!-IV'"PF] &;VM3KTQWWKV^KCB.C@#: UCJ1W KQGF[ M?L#%:A'$C&8X8Y"E# MSD?GBL!!BZ%,_B3WNY4&FU2UXA);[J]F#2OQ T@9_ MM-3U[V+/RDS-5%B2A)YQ,!;"Y0T)CN&YZD+E_"M.L617E7^,0X";.X%>9FO<__\V/ MO?\5^E= ?EY=9B5MC.O>K\(F&?61R\;(?*GI@9@Q"A%*0IC& M"8)AC' N[*[X?ZH7MV=K4HR"]$Y,BT5AJ5E86P+0,[%;Y%\&'R3.92WWZ^WW MV%R M]T>/JZKRD'7417P]@JCGBYA@[DY5ERL8>._22%?H881!0S2/PL@BC%E&(OY QI.=2.*#@_%U?-9KGD M3WRE&HUX7ARJA]\+0.H>>5M\#3$G373.0+%VO#T)Q]J%OB$;,U_[7R:LX^" M"\?\'2YE?%XE=CO- MKFBG@3P-@CP.?4]DQS@N, MLRS,(\>=[?'U<]1N5M7JFOVCNBG+KT_T3=4W%57,3SOSNNN +'&.;MPW[!]B M"9-'YDHF6ZZ%:O'R29;HE5MY]:RTIF!U[C8I<@2V+S9%GR*3>=LC!I*EMC%YV*O2,E,$L@#\:YMP47W(G M.TO;(P<,SKI1_&S:N%G/HJR M*(99&J4015X*T]#+8401QU$6$\J4[CA'J3BVI3U=T!+N[KM 0UK-:([+:-SN M64.N9[J,0"L;)"50(]LI\7YK3L1?=E9D?-19#($2L%Z7U1[6/\M<+Y?;ICUO M<,WOUF6QO=51/-",C>':U[-<#MI [8BKGV-&!3!]F+&%7=.?<@:VY3.,"CBC M@\SHP+.=9E3@#8\T2L^;G6O:7,^=/Z/[_EB8)SRGL#ZM:S'0AML'=-GK0W[SKZO%?')>WW]:+ M-(O%;C6,8,PPD05PFO(8"'K4RRE)?.KY6ND31EPXUFKQQ42:;@ C62J>]%U+ M2/,PW[#371#O&&KOBJ^:ECVTJ;TYX.T*2+: X,OB(?X2L=@ZIQOQ,.]1_!(Q M'9VV+QI,?P?_YEZ&Q;$;SLM?RO7FT:"S[<@0KL/06LI D@8-;9-NMF,BF-[" M6T*O9R'&@#OH7:N T6@C/S;N;/MX!7##;;S*XQ=$_I/IP%6BW67P"Y?)8>+G M?0'.#5[>\O(A6 0H#K.4,4AQ+HX(?LQ@EM($,G$T2&,/)4G"M#,#YL7@V,;T MF0/K83WK;X?EQ.F.*2"(/#0)!L_".AOE%\S\$:AMDE[YU.H9T/DZV6[!@0$Z M(.%93F!XF:FQF> P,X+Y$R!>9HI.)DB\$"N&,8WM_K?K ;T@)/'\.(HA]B(L M#LA1 C-.9?,@CJ+(HRF-]-IW[0WOVN?<$-.,"-S'KV:OS5%I>I.["&8'+;I/ M0[ 5(+<_^+QA;B>!'06KG7[*_-94%@I8A(SD 0M#F*,TD[E''LR0[\.0!5'B MX11'J5+7K<.!Y[H;E;3T+T,;Z.KWG[J #*\\1[$8W7$.&;_H6K,9:/:;S"'[ MIRXO]WZOIPAW['FUZ /P/Z_Z3L#2OYJBV(-)+@.X*"5"'<2*XOL\3P@C6:+6 M2NKT\*X=(!T]X*MIQ!D9C.O%Y<@TG1L]*$%K^@)$!1_KOIYFH^,0YQX=([R7 M&X-Q%*U)D,\T6N^%H=]H_IFW9M'_<8Y[*S#QE%D<]L^K7"RP[!\&7L\SKSM6 M^#X8^6>^XGDAMEV#J&03W^#\GD!K'8I\:<]98[!%0 MA['88X_JJUY31+\Y8[;%JK_4J]^KK4=56Q45AW.LFFUG@ $;X NO-^4*_%X- M_/3JJJDJI&E5=2 ?/=55$XT#U=5$;J3*JC1F4VU-T$-5UWW5M!Z&3+'B95^@ M\N"BL]NT13X*(ARFT,MD'R 9"T$2GD$>Q$1VPD#T]7G7.Z]]Y59&FPJ0$C,.$HAPB MY,;)5_G(S%[[S?BG,-/1.X=9*1R%L0^"@D,0U_6 MG\HQ)%$>P RG//*C.&F>Q$>< 5XRY;F0F-S M?A07DQ>2NN:",1#X:*BQ=*LUS.Y%&H..7:?YPRXD:G\SXL@2'R*"86;!S&<8ID&8Q @E/M>K M@CE*S?75>$<;+'?5"K3;M8S(2M7+9DD"NMZU#OPW07=;?/(*;$E;[=DRC=!> MUY816G/W;9F&?:)SB\)+^O=I[<%'%NEHCTI5M7EH3CQOBSSG)1>(#&ZX]49U MK,Z=BV++#=BQ W;\F%R!:PIO^KK-G=STC("NR!SU]\EW_K<^;CC"5AY&,A]S"#*$UB2&(?01[X.&?< M#[-(*5)NFI1C6[(EW+BT\XZT9CKR>3FI[0SLH->S"/O >ZH.[MFFP=E*#SY/ M:-XY5E&0 M<7*.-7G@L<*=QTJ[1?2$O"(2LX1'.0R9'T!$> :S)(UAS",6!WG :(P6M8R; MF%U>6Z*O25Z*UL^:%#0MX(2_\].(-&S63QB =%\H01)[+141!L U2A\,WWJ1 MLO@_/Y\>X/I[42V\3-A2/PE@1$(/(IY3F(4TA @C3!/B\X1J=?-QR*OK^*8S ME=K_D+3G+8,_.F-J1NJ5S(.>A3.<@KG+WJL(YW54PA_E],]4'%]%Y);KY2N1 MO*Q7\0U^EI=&?9?7-*4(^RF"D1>+[6V2>)"D&8-QE@4Q8R&*(J7LQG$RSL-$ MNW:PCRU5LRZX!Y)1M'D7X]4T5SW4CJ##KK:G(5GN9WM Y$4ZV9X&>JZ'[9FG M+])*80-NULN"2E7OL]8YRZ*<,'&&"B/Q!PU2F/IA!N.89(F?4.RI)5I.DYI' M.V5)CYZR2O:[KKRT]/5"*1CIK*X 3!5W!)M=Y3U%Z"44> 3P&24>>\-,D3_* M,%^9!/+AX;%B@E.>(QCK#6-?$( M+<>JO*4,B@%I/14>DY2:#EO"KZ?$.^A#J@Y\P0KH+*GQ&*59]5@!\J$BJ[SB M*)>BFFB(_.[[8U$V+VV[(A_4_7GWG9>TJ/A-65"^"$+.:1(0Z.4YA8BGTF/J MAS##">&![_DA3:UVF[<,P+'-Z0O*<5,6*5Y5@EA0KW(9'5'2YENV)=M$[F#%$4A9#+V88H@P3F(91 M"-,8(8^G.0LRI2Y!>F2='TC_M2FJHA&UWKJA*#4U:V]?%GHVNJ6 MPYO,4%LR@8I$9S5<>H(X-#>:;^O7P.O\6VWW(UDW_=V*O<4U7R":>P3["0S" M!,MZ> DDS/=@$L9Y[K.<1HF27VJ,B&,#T)'M.V@UG0 $92!)JY?*.RNA/3Z0?YKD8 BE[V_%Q'*$IKS M& 9Y**^VL@RFF(8PH)0G'DG#(-2*$=R.[#@C,']I!OF^[J9MSYG=-#."==T7L/Z.???I%>@B;4*D Q9BGQ(">, M0I1S!-/<"V'H1RSQ@PA3IN0-WAO5\7[ZJXQGJ>I"[BP'[;2UPMCVI3"N(<;8 M-)V89K"TDG*/8%R0D+L;:[9DW"/VAXFXQ[\TJ#K+UY_P@U)[@L'CCK_WFW>? M@22C43>V@S'^71LBT/NJ)YG7*_:ZSZY9<==NC/F*N>XSO5>\]>!7^E_LI_7J MRV;)?8]$_G59WI8/JYJ]7^([U6_X[ ".OVI!%TK"0%*&_EX]+-F51+J9^/DB M5AJ"F-8"*S+0TPLU^. /R86E=,])E$;J='[4V11L$MA0Y:8?-CMO?%C1]0/_ MN*ZJ-NY6AOULQ&&G._6L5]7//%_+@HSRN5O\70;JUB46-,1:: M7F7KI:!T]Z'S*2PXBX(L]P/HQ8D/$><^3'D2P=BG8I/FXR1.,IT3C$->'9^) M),^ -,R!HN$.U)(]O;.1R[E2.VV]DAG0LUDM,^ 'R?:/0.H@V'$.=JSW$]0] MWW!_!?:Y!1^F'&;:)\$99&KI;.F2TUE/JS.(_/#\.P=)HVV8W,OQ]?737>.W MD=?RUP^UQB[LY/LS;,*:';KX?Q_7TKJ=]L-HQGVPZM)0VHI=+ C]G=CE,M#= MB8V"--V(G1YTSGW8**R#;=CXLW.'4S9_R 96URMV(SX0>2Y[NY8=$Q=ARL(P MCD(8QC2&*(]S2# GD'MAY-'81TFLE4'J@DG702R2<-,0#?S1$M1,I7 R,6I[ MK9<6MYXYTI'TC+&%TZ)X\?C!$1;_)#&"TT*V%P>H0$M_&S1H/ON%T[5839\_ MK)B.2_7\"*ZW0EH>UA&@TWL<.QCUS,J )NB)RJ8>K'@JF.QY;<]).PW/:'\S M,NQL.YQI:,,]CL+3UL)I)8&[5?'?G'U@0L6+O,#;^AQ]7QNAZ1]WY3:;2F7" M;N#J7OQ"EC%[PDMI,18H1GZ41 Q2AN2%.2(0QWX(TR!)42KFA%)T81BN178= MVP5)L"G(1>5?^([NQ;&\-J=,;2?T>B9"SWB=BAV^ CO6P9#WKEH0V'9SDI,W MX!]T *[ =FK?*_N2AGK MV%0"^<*?^&K#/PJ.&W_8@L8!PVD:P)!@&6:=II#D+(5I%O@V@7?I1B+,@81&!GN?Y$,FZE1D7FT<_R8F/,/4X8R;- M<>RQZ#H>;="QY5Q]KY[I_M9LRW;35Z=C7.::MBFJ9KUT+$ZJHF?M1:=*S_HY MF*59>NS8EZWE3CL6&7R1?COV!7RNZXX#2OHNNN:>A=8;O%P^W^""_2YVK%_Y MDM.:LR[L5+L7@W=V'4] ,@6>JK\V.HU7SZ#GKH^T5??\:C"?RAR]'H_5F=D+^LU^Q;L5R>//C*$M44 MI:E/Q'Z2I1Z'*/(#F&4\@[X7QTF81;Z?,)U@-T=\.@YTNQ$_OY>9/X^R_ (0 M\RG51O ^B]MQ\[*4O12Z,-5=CXXLCC*:1AAB6>T$I5D,4Q)0R)"' M?9P%08JUPLW.DW+MA>\(RQ#]KJ.)ILO]O) 4G>U6H&NZV7O4N_!W-PU,IL'9 M\JR?)S2O3WT2\)$W??J-"V*]NS*RNB'>L]3.'40U&\1M*Q7(O1"4GE8-H[3M M5<$=@7!9#/:<=6U'0)R,N';;Y<7%\ARGU M.?32E&H(&G>) M5Y,J"KP\2I$',2,,HMQC,(V#%/I!F'+"/!X%6A6B[$O5M'H4?G'9JMEDZQ+3 M,\K])SATV4I)-1P,?VJU?8HZ8GN=5!1HSMU415T,)_JK:+QL:)<9:VHWXZ6\ M3_NP>H,?"Z%9W0DI#?*T&9^!L7?W 64402E,:Y5JC\*#77=GA+&SP* MXK!8 =J2U[0+HQ)3M >VY*!I!W8BN.E$T%%VT'I%":,MS1^E-:_&J\ ^TG2E ME_1].6T6W,/=3 MB_%J*N-9J%;+(HVB,O("G1YQ-E_0**"A1VC\0>,R2*6L4/F6M_\5JBH+;6!: M_[VH[]]LJGK]P,OFZ+3P$^Y3+PEATBR>:8CD%6(.DRBE>1@D),HB@YK1&BPH M?;P75XK^;27V(DOQV9:<\N))7MOJ%RQ2EJK: FM;2*8%A1KBX(>>C1]ERYV> M$_!-L )Z7JY:%XG5>D&Z(K!7_T>9\MSU?'1%+OP\,K MP31.,V&,&K:])FF#TU2_A* M)N,U)<9NYU7>73OQ?LPG]%>8('N&X3]#/)O!!+A,E)V@;+:N]&O4%[YL"\K= M%X]]RU@?Y33*_0B&OA?*>ND1Q*F7PH0%><11D,8TU_'WC-!R?)#L*8M-Z8"T MG@T?DY2:\;6$7\]J;J'O477@X5% 9\D\C5&:U:XH0#XT""JOF&GR)_YMT(*[ M7*_$7VE;%JEIR/W<_KG+UV%IG)(@(A!G*(+SK%?^XQUVS-RC[QPMA;<>>UK,:VK.B9DI9C';MUGI3K\*J+764C4E*S M(W:PZUF,+>P!T2O0D;5G%::A6=+_$4*S:OHTX$.=5GC#3'L/<[G?RC1PSA;8 M"W 0,P)C)#LPT3R"68001#QD24I"1KC6B>(,'<=ZVU$!/Q0KP-;+)2XK\"AV MV)5DX4<]#3XG*37UM8!?3W>/ZT)<@8ZH/*NS4X[;# MFZN?GW_%_UB7;Y:XJIJT+R^)6>)[8O'-PA0BY,MK+!Y!V9LC3^,XBF.M&! - MVHZU>C16M0+D&33L@(8?K?0Y$SFKZ;\CZ>G9!*N"LQCN>U8$SJ-^CRF_DN#? MLR)1CP$^/X1UXR/.&YN'S5+>UUP_K,NZ^._&9;(@@3 RF""8IJG81<0\A2EF M,2013; 79P1QW^"B2I^3>2Z>VM[+ Q8 'O!@S02=D_;%EN@2X3DP2%=[HKQ6 M$:5-HS0A#?>VZ1P#K\5$30A(PU)-C61FL/8[.W\I[N[KS_EO54MS2.==&X:^ M(,(V)2Q,8!+Y"40>XC!#(8-Y$/J9[S&" ZJS9=)EP/&^:=?CO.W>7$J&X#J' M&_&/-A%ZSV#UX?EZADM;ZFIFRZ4L]8S64:OX+[T1S_:MZN I=./8O"*8Z.AUX!B"&5N M?5$X>YTD3K!M%) ['&>V,-P3S ^#;T_]6N^+9KQ8O%O51?W<-+##5%:5?(MK MW/N[DQQAFN0Y)#[)( H0@42LK=!C08XRA/TX3E3T8(J08\5H28,!;2")3[K' M]80UKD0V1:#I7C1$KZQHJM!&-$\,T6J>^,M.\R8'GD455>'UNJG\O/[R,Z@@ M]';-JT_K^@MO@IOZ[C#:A5?51W0>6;!E!##!"5BM:U"VO&S[#:FO;AJ2FE[\ MW A)3XN'\I%, ,$%^'(@'P?E5/6Q&RVP&F1F6W_UH0^79X.W+^A8248ZN'4- MW,AA [?/CTVPU.^"T28Z4FZ/99G7V[7\T;OOO*1%)2\P_\[EGEH\TS8W_<)E MDS>QW^[C\C=X*3O.^PL<$TZ\7&P0$!;[!5\6;O$#'_) ^XR]ZA1SJK?QW['FU M^!V739)#X_1ZLZYJV>BGK/!RD?F91P-"H9?F#*(HD.$$&8(X"%"2^E[FYYG* M*CQ.QO&*V-/M'.!44%9;V":$,[[(V(.L9_"W:#L_M:0*?NCI*B[I$\C9FF[D MI]S>0+J7P!X]YY)07GC4 +:+@'RVL>Q>&/J-=9]X>Q9+JX:@MWJ*3QOF1VQD MDL7G?.N"_\KOFO#E1>@G+(PB>C M-*H^V%*6E;!+_K@NZ^;[K#KJFJD+9P6&641B@D/(XRB%*,\P3!&E, HB+TIB M$F*N=:-I15PFMQ!;8>UNW[Y:EI7:2<&*!/3LN!%X_=R,*6"VDC#.TIDWVV(* M[E%:Q>0+QJ5)VB+0O))%A!9^EM,HHQE,LIA#Q+)$5OU+(!,V+_=PB@G6JDY[ M,+YC16V:%\LZ72!?EZ!H:XT;Y.$?2D5-.2_ JJ>2NR+JO&IJL^Y*I9*$'Z [''ZV M^8]=(6>;KIMS27(F$A3C2(\QX!+EJ;K6Z,8^$8TPQ<*H)NGX\E-+U[I$&#H3 MY @CAB7J?/)@ F5*&6@2R&D"SA@&:!G":H/Q)DX"FG<[J;,:-WZAI# MN)ZS0UF&$<8^0UDF$R2"D/(L#@C&H/-J"-C$XC4PBKH![V8T=\LVLP/-%3-@ MPFC/!U?3N'<(G'82=POJ+4SAWB':< +W[CN6L;YU2/%:?BZ69,D*LKA954UG MRTM:-<[%.R7((>,11BP0!.%(23B-I(_2#,LH$B0-4I"8FP"=6-PW*.@O?(.$ MM\9"'44='D"Y-^*G85S*,9> $:/S&00/W0 H=A54,0$Y;[@#P(2#0 3DW3.2 M ][OQSKN4D*4CE WUR3V$Z4BG/4FIRYCI(9#Y MXYY98)XRW%X-P Q $=[$4LM -PTB:!%&.8AZ'R@S),,J(SU @4T)IP#$+ M0))[ L[$8GM3KKHQUXYB8/MM[1)GAX?%\V=F2QT(/SS8O7GU5(I@0>RX_N3<2)" MGF,494FL^[DR1-- _P=+/_?SC*5&N91 N%-;*STL/%Y4;+%J"F]7TFN\!U)A MI;3A!JW_!-HRALPU-&S MMK1O&U1\7I7=K_1SP5T@D]"708*25"]*>V MZQJ8C5%7;J$"NTC.NY]FRO#M[I)[1W97#-<5-#6)X+KH]474O0$EZ_XMS5Y_ M,]AK>.?,5V&YJX:<\R(_;Y_/5]F8@_:AKX.%W1G5I2)\5KP\-E3KTU]L\<2U M'Z&JA/J?'HMREZ0\X&F2(A;Y4MUABR7[H0,4'U>Z(O4N]+,TC@(?13C*$<9<=WJ*(T1#'H8I M8U'H<] PJA& $^OQ'?">AN]M$/#^WJ( 3! ;9:&9[G')&)BB.8\G\(%5AH2Z MFEHU!F[>T56&Q!_,KS)]S](Q(:5HFE!M7*G?2"VT#BJ63TKA=&52JV5U1^,H MI(PF2 :QCS#U,Y1A74DNHR -!A?OXHL7'MG -'^&(F?N=1"Y,^(*%@X3M-BR/9 M.P)@5M$[3>"^Y T\:2=XZTGWS0C[MB[LB_K%52T>JKLTH93$(4-Y2-1='4765>NJ0+G53MH^B_?-J.3C.Y"[._2#4 M)ZU,J.XYE 0H"VB,N/K))^H_&!NY[,_ 86)EH)!"S75ZJ>_5/W1*B+Y4MWT@ MN]E'_$GH)K;M[QY6O) %@UC0Y^S L *9B:_ FW=7%;I&R'NW1DE?NWN]RDZ. M29J>K8"RM.G9:U>M-B&;815MYS%HL-#-AP/1[ED"8K5?TD>RB2FH)3/TZ"F5O&;-HE;T&010*_2*?(TP:=:10Z\82?&7]1-L%@TWL_+ M)6]:5?Q8+=3[U2=E1]8O=WD4Q2P0.9+<5X8:-"!2?DH-\UDW26/8!+_98\QGX:9 M !9U4\H<"?PHN%G%WI3X?>$W?L^VQHQ6ZF-7RN33L]8HVY%3@A(2D3A%D@09 MPEBF2O:)0"*5<1S[ :8$UG[G%*2)S_$M7$\\P\_NTPPR$VYV",W.!UPBYAR5=8R]83-=[6HC IW%P69:WY<.RYI\7Y-YXDM[1 MMR<60 W4TU!1L#,;2$\7*99Z2#=@9-YQ\H=%T0WE,!D<)]K[N\; U02\0?+L MIMT=7W*^R7:#).U,L1M^$BYDEXO%)?_?VY6N?ND:$AD*V.&;$PN7 N@IB$]5 MW5P(M,/Q [C-W F:QZ7J/')A$C5"Z7@7*I! G:;,2IB.+#>;()TFI2]$ T_9 M69:?25'^1A9/XOW+YL?_+D2I%OKQ\D698HNV@3J-8E_P 4QC_1\ H$REF5( MYF&4$$*HC$'^(C.P$TNEANPUH+T-[.9*]?7R-U"S=2 SS4Q2]RR"2?(YW $; MJ3!B'5FLAD!G-5]AC-BW98%OG]>=X)M8: NI=_5=SR_/I92!+QA*FHY.+/41 M28(0<]UK"-*'1MBX"7U7$&FFD(IVR!*8\ MW\^#!E#JN=3\-[U7*TT?)/U51/OZB=4NWO7C632GT(*"/0@H% M@'>=EBZ7_+K^(\5 MSD:B8(>(D7SDK7STT3$6DPZ)=9^SUF&[T@AXK-V +@T!W/?,ANUF6F5"5MIV M33L(@1=+;\W:=2VQ)5M#U-KCPPC98"4Q0I0C+7 * MRJQB/D+JOAR//6[;D.#AH6A]3$H!M.6(]V+)E&GS<=.%<-,>, EQD&>"HSCA M&<)9HEO,D@!%<93%DD=!F('$%P1]8J'NX=(<@CO8>%MTK"?;P%AMI@,F8R!, M,[CDG46# PL>..MV ($]<^L#"[8<]D&P6<32A5HLBUI\*9YUR6*M/J^"+MK\ MO:H=RK=0-OY7\K N[ E"D7(B*,*,$Z6,@A3E"0M1E&&B;CX^CC-0%RP@_*F= MJ@TVJ$''V^+36>477H.2U^#D::0L"Z:@3#?TN4['2J#SU3D7X2Y9.UZX\LT" MH<_KI+5CS8&WUG(9BQ*1WP4I-8^[F&$>,$QS&:$8YSG"4< 0"7B. IZR.$Y# M+N+,N/1C=^V)U8L&YFEH@#*"/>*'5<&9),'$?$.-S72>/;( 50_VY-E5,XQO M&JPHX3C^@\4&>Z_,5T1P'->=XH 3CUCVY=PM(;BFM5(=6L%\^JNM@/J\*G>+ M#M9>X9>[,(UXDN A0E)$0YH@C*94I3&<8+UM,]8&*D%![A,K$:^]$O 5AU> MVC$@.LR:)L"]'&1@Z\DS-L',4IF)M3!U=EB%Y%WW>/NIS]N]$J9- ,EA)K,# M'KEJ3GD&)O,VJ3R?90?-*ATL"4\.^W7)R\7+_7?!GDJUTB]_U#=EP<2''\O[ M&U:;)HH-KS*QCE+ A8*N162-0#<:RVNP\#XT[#-/'AOAR;#B<FZN+ZV$Q%S/TQ1[(M,%_H)'8#,4,8C[),P$ZFDH"BD*>3I\ZO6 M>*RS(_J8=-/T_N/=8K#9UYG,-;.[)V$93' OKS]<>9=U71;TJ:WWK5?>#6FR M2=RE5UL3["K4:0QWWN GE!T'X5#P I8E@T>GA_2*7*KW+]MGNL$YS4R1Z\>F M_8DRRZ4HZB?U)5XMVPDB?Q/:EA?\\EF9Z_?BTU_*W"HJT5@ =R(469B(%*61 M;O@^^&BNEZ=ZI*S%?+1:DK'0# M::_2Q #5V^R[;*8EW_+>P91M?[K43B%+GQC=??;H&*IVWE1'TX77HZI)86OH MNO#6E'D=:=Z:MO9VX[ 4])6VQ56%Z=SHSUNX^DJ;IPHR!?^V>- MR^5W]=M*ZI;:JP[#X"Y)B4P%\U%$ M"48MAA?>!D>OAZ2WQ?+"VVS6[6:S^JBN)Q@Z MG^ODC'MNASV=C]9K3(!RQLP38Z'A RE@6,848"HQXEIP!,K"$[D$V"8 <55!UZDB_#"LP% MM3!%9$&HL4(9HV9(,:AW>TI!_6VK$$XN.XM@CQ&U%M#1YV""QD5Q]VE9%_7+ M)>=J/ZOO-:G%==F,3U (WV&><1E)C'S"*,)^GB,:D1S% ?8CQM,@SXRNXF. MIC9-&M!>!_O":Z K#GEK^&;R-\JN83ETR028/-K3;RR6IL0-^._5$JUTJA^V M@CFZ\"P":DK>6E"-G[>[JZAEE 5=O]RH;:XOEUSW!GO4UZ#0+*-M4H;%K6-4BJYO=CUA&41ZS&"/A M^S["@G)$TI0A[E.2LBCV20(J73H$,;$"V \0]B/\,70$7T6M4!7,8Q0N/?V M)"VN_*N' .;U@)XD\,!'>?I)B^3XR] /LJ9GIQ;L=:P=IR23C*,F(18+$:%, ML!3)+,]82B)):&"<(G\,PL1BIR$VIPH@H_PH(X8%S0EY,#EK*&N@-?0YC'F/ M$C.88G[TQ?D2S8?PWDDW'WP0GKCUJ6QBV)=+LGBIBE[G5<,4KE/O3WVY+,O5 M4JR>JKVP7H>&>8+72?J'!<<5Z< KY3#5CEO0FM!HE1EV^8LRZX11K6IP8Y\GD4BIXC1F*JSBU.4!4F&*$O"7,A(LA34?^LDI,ES)M8U M NL&.I93+0\X9&8].J$;)J!;DM?,&Q M!VA[;$A)@XSGRN;T XEPS$.4"U^@)/-IX+,LDQB41S4. M8X=,X^D0:TP<>7Z@3=_=VR>NJ4.\.0.,_3\N>L8W M)@*KG\AB\:([Y?Q6-8-0FE2;=I;$MWH)MJYAJTZL"79MS@ZKMB?3<_7O7COX MI8>:]TW43R6@/3:0A^,6^G3L@ZD+2\Y-8,_;<<3*R@>"FLWVMV-!_T9@N<)Y MHW\54*J'&JA/Z,-J616\&Q5_6Y)EU;;4"^YH[HM QA@%:8@13G"&\@CGB.5Y M0 -"LCRR&@5L GQR[=.#Z]5;P'8C@8W8:6:(3,4DF([9C SNH7'A[7+MUH!K MU@.$(>0['BAL!/I5!@Q#F')JX#!HC8G*34XE#;?SL:Z6ZGK5=!:IFJJ8VQ]D MV:43?UTMGT55B_TDXI_5TO5'4HM-I_.[@'(:Y'Z !.4)PIA21$68(YJ%>4ZS M(*1Y]MQ)#/60\VXA7/52,U!TMNJFYIQ$\&U5'/B-LWTX4U()1,RY[H[ M>I:GZE1E(4693_5<<1$F,8.0P,2TW!&=CI<'P& M\221*BBQ,XTE?ITX%I09T#'%9T:YFO22KJO!T[(N%9BOJ_J[>"3JOBD6+UWK M9<&[U"(9YY'(HP3Q-(@0C@A!)$P)BM,P(3@3B238.,?*'.[446N-""#K"L"P M8?TP(1N 0>S&S-L@H4R\VMNBX6WPL.EZ"N 6H"/J-%RSZY9JRCU'^6YPT@>S MX #+S9<;!Z=Q)V/.XG6[--307QM^NHU=\2QZ>9A^'N59A"DBC F$< R+(SL*P-8DZ>FAKY%:NH0V8HN*?RDRI.AP\ MOD7"8ZL*.K?O--<,78XN> 'T ZY)[\&ZCJ@3C5]5M!%UVM7CN5#3)J9.1EK72E/Y_C-JW2G8N^!LIX, M$+PASR\*@X>GAW518\H8S\,(,:I'CV$]!S&.N$Z5\&.2,R)S(X?;P=HV3T6^@:?U-5.OZ MX8]"?8T/G;SIL)EI7O70&A,+0P^TMP.["92;)TL/LF%89%QR "9!EL2#4IQ- M*+-*:!Y<>+;T91/R^LG*1L_;73\^577QH#OLR$VX>O/#=D[GVK>5^W$6B@BE MOL[N8RQ$A%",TB@*(E]$(@@8Y&8! 3ZQ2*]1:2S53:*+]XL@&@5XB12(KV9V M_U3<@HG_.*,F<$[8D.[(Y :!GM6:MF'*OJ%LM89MFV"FIVD6LF"M;:VO<7/\,5,-9U,- M-0& !%MTO1T@R%D+VV,P9NY'.T#F87/9H8?A1OAMR2_+\I*O'J&F]^&;$TO8 M&A30OCY"X;A5?1YQ,$&Z+4F3P-U/Z36C%61.GR;)RH@^LMQLIO-I4OH&\\!3 M<#FY>7YL=;&A=*R?GU@F;LB+]USM-"K?GMCF,K*A;EPR; B#R<,@3>Y.F6/$ M6$G"9I'9OO]]M/M?_<&_P;YUUJ37O-S]_/X.YP2'-,0H(LH6PR0+$(U8AKB? MIKF,.&.QD3ALEYQ8&'Y=-@-]_D[C]R+N_;#_TWE*S?.:'J*\_\B/_*81_.P,8APAB-UQDB")/:)KB7&00ZJ&!Z$-O&=9MNW=:&! M>Z6&CE82/:F_D";CZ\);"F <=YA_9FK;&5=@RG;+D ;NA?=MS1$%NTV[G*"= M[1"-KEO:'H7U.FUMA\@^V=IV\"7K/O#?!%LI1?("W?JE(MU)_3%2WNX M[QL%:V3 G>!W.3#NV#Z7>)A<&M/MUN$]1.0Y+>!W%YR[_?M1:1O1U+_@MGF_M*M_(I#+6^RA\*<.4^?-U,W.W=Y9W\FKT4OY&MFWV.S=\ M(][([;I%_$U>HG=Y^O:NRQU^_ZH7XUWV3G@%W@/DK,]R,S>T4C^0Q=6R22K0 MO[U:%G5!%I>LB2@J\%=+IBA8B%I<\O]]JFJ-Z:E&K7C1<>!T5WI8,;TO'A;>EY+6:4T_(_.G:6D^!]&LW MQ)YP(PQ::4\)W7JZ4(O1YU7Y(A MU]4S#%,&*I\9 C:QMG]/N,<%K==CP<#S@TYSR4PCNZ(=ID?7$+2+1A3/VI>@ M5*#Z;(K:^[)2^K4;5N6]^R:>%5?)XO0MQV9LT"C)[@8&G08U]ZB@4:*/# D: M?\=B/- /K4H^Z^*8R^I:_E;5R_N/M4XQ*7\O/_VC?KG\L^25^C6_6GYX+OGO M95?>93HHR'+]B47]PP]MS7OJWMXK]R*5KO_Z352-[*8M5Z?TN2+EN M*]58^U7S8--J0]D+2B[4C_HAP%0A6]:/^W[GX#I,R4S'<(>5>2Y89S>2R!;H M?,.)SF3+SIBB<]=R/"1QTR>9TBR1.9$HY21!F.08$4$Y\DDNA"#<]R4H,784 MXNMFQ(ZW5;;DH[&UXXX[,&UT-F/MJ/1WO9LRT@4I5GJHT#&ZE)/.48TB4.4!J'(0Q'ZG(/& M]9V$-+7X='"WJ;+ AAGA<;%Z$>*;6*@K%.]-8[C#"8UCK.S8 M,,R)CNH$B/H^17D49G$2BH0*T-1O"/")9?N2L?))W0%9/RBL#3DJED(6T":Z M(+::2?]4S((IA#46WKLU'C_I*_0:%:_#Q>LAXTY)V+# D=X @9Y5E=@P95^[ M6*UAVT[CXU,;4H"UTEB_-;4>Z.6!K$%"NVEL"!PWE.UI@XGML2X:H^19--#8 MI^2,YAF;I69NG+%/PF'3C(,G[([>#ZME<^?\6U'_^/!4U:L'43;YS3^7JZJZ M8ZFOSE1)$,&)+FX+ D22)$8BXE'(TY0E&:CP8!C4_ZG NRM(5^TQ04Z:U.NE%%]N5BL_FRR_]1?^^$R=X>G&0,<'9:B#81=>.TCZUSC#4X.LU-MV>$J^Q0,?][L4EOV M'&2/6B]TAEXZ/O537>YQDLD,941D".. HDPR@J(LBT(_%L2GL)$9KS4KM0_X MW_Y/%@;I?UG-2SU[0NIKS$1MX2CKHZ[+@C[5S9R(>J7'24P5JYIM&NI;F7\* MGWCJ?,;IV=GGHZ.=FQ'.U=6R54CCX^J5?I!8Z*XL>:Z#X9(AZJO;3"!%F(:) M3Y1N :F/MT+9Q-JJ :@.^E?MU.'\:S!4D&\%WPF-N?/KD3;3"3?4>NUPUEK1 MNZU6:DG6OMJUL7C0$*1YI$VKI\?F$E!6GWNCT$Q[[9Y>8NJ$,079:T!['>P+[_-J52]7D [5 M0RP8=[ [HAZFU8<(=QP_-Z31KG7OP+KS=?,=)VZGP:_!XW Q_*4N%[>B?*BN M91L" $OAZ14F%L)?E"8J=:5: UV[UX[$@LRE<8 3X\+HA@DP632B?P*A'*?5 M2B8'EIU-),=)ZTNDP=-VE]NAN84/J[(N_MD<^%V]D4[N_ZP^DKL\%1%+"44\ M2BC"<1PCFH08$1XPPKF4TL\@-U$[-":6>O7-I+#+H24WS6YRT_,(IA0&!ZU> M-"5JK+D9]9"[:.M#-&+N[D3G,<;1!<82B5EO&^.2KR%:[/+'CRTX M7Q;Y #D[N>1#S]D=\-I0$P^D_*.Z7/+F+U_)@UA_50D3L1^) *4L$0@'6"+" M!$- M8#BB$8V.3M-A6+,>FD9D[Y^-9B_9N+)6L'-O\\+4;JI/UQ!OU,KX5+,B .AI M^G3M^/@Z0-K2=;2:^Z Z0'S7+;3_CW9'TF^D+'3,_!NIQ>5?1767\ C'&<@/((!6!.+7@O94Z!W!OA9EM$/\JO;C&1<_/X0T2:5'KLT?0&:4^ZY5FKO39(^"PT&?_ =V9$NIHK M,@QLWL$B1H0?3!8Q>\LV?UY9P%KQ7LN!]/ T3F(91@(E3*?2Q[&/2"Q]Y',6 MQ1%+4N+[L%1Z Z@3"_X&!QUA[V/Q?Z\3%&TM6S.>FBD$YYR"Z04G3+)(P <0 M[2P7WP3FS&GY #8<9NA#7G;<4>[]RZU:L7&N"!GD6<0I2B/='Y<%'&4YQ2@A M/J8B3<.0NNDIMX4YL>+XLEK>=X'XVYTPO)4WRH2'9JK",6=@BL*:*>XZR1V2 M.74ON1[$M]%-[I %QOWDCKQJIQ2^"+7M8F\R+?KFJRZ/_[AU55?UW5OXM:#X>[7Q;_%'R[4OO2 M?G'$'95V>&J<>E;=$%[O&S!3H_\2.PN\XATKU.L[9#?D;.KW-GO<(J<'QE2U M>J[V7I3!MR7J0J>C/@TDZ\.;+KXV_UTU=7PU.N9M&OG:VW70E/+5$7J=Z:3M MZ !M[W>)XK.A'?S$U.LN]N2'.4T5&8Y3R@B&68H%&&<24*2/)BG MZAV(^.2&?=N9IE.$.O]/;%%XO0&8QOMJZ&U\@[ME?YJ=.R[SM^UF;^HKZE7S MZPNO1]/;FZ4)W8?7KBN'HOVO439NN1FN!W*"X5L>4>R'X$\+45W+#YJQNAF= MAG\MOQ75'^]?]'\_$Z8^_&T!)N9AG,0L0C[W&<)A2A 1)$$Y8S@. H8Y@YTV MD?O!8SX %BP77#LV!:7@+5.IB-WM^;J?#> M)+W?S^"-*U5K@<&\6M.>10<*\(REG,T<5OJSB6=HA<-(;/_[,JE&7TF^*Y3G/\O!['.4G8UXY!T\UV'0+^VC-:#1AC M,&O59!7+N4+5A\6J$K>K7Y:/A4[-;+0QN F%P5(3'^#=[+T&!=V+ZK9X:/H/ M_O+UYJJ7 :RN"PU:P!%%(UP:5BP3, BF24QY,\E9#*3>?A#2R/KS3DS]0&^<:"UG:FT:ZUJD+LC"?>Q;KWH)V&F[@92^Z0( M1VF4IS[+29:F@&B\%/>V;[Y( 6R?%!_)8U&31][QWD@=-8)MD M0V'7CE?;)L?1D[-WR/IR,@D''5]?W.+X*A><2=A\Z@HT#3"XB;<97MO.K%UR MA=AZ<.W/Y5)/KFW^I?J\X,U\6W5QX]7'4OU@,43;#;2)=75_;+,2]=Z8YY7< M&^2\;I&K3*;+Y4M_X'/]@]3ZU45C1@E](WM\7!2L,9_6@Z(U=44;C^BZZ=L- MX':TB>-&ZOS[!U/B;V7K'!?&NV6[E0'M"(79;&RW+.N;X8Y7MK/4N]EH-Z2L M7SZN=/[6':-^+(*<(1*$!&&?!(A21O7 EC#R91YD$6A*PB&(B?7N>GY? ]'[ M>PL3:/ >X8N9M7H>M3 MM294&Y)?5\NR1W>A[]ACE(,-R=/$.;("CP"8U80[ M3>"^_37PY!D)'=7U4UW5:C_507"7$N('.,R18&&H[KLX023RU:57D%SPE$D1 M)'>/C0GWO59X /(O^G @W^<^-',7L[@OEDU2+R6+9DC8>1D2.XS*L" BRQ/$ M_21L,\-RR?4?V@9^)@O=67[3(W[K MW[V+8BQIQ'T4V\-75T[_Z^%/>ZS98"N5J*U5.UES8XG, ^1K-! M ,^:7&"L[DQ*87&YHT39A>!VEYHOVG:4A)W VO$G8'+"17'W1?%R1KY@4R-1J<>6WQB@6K >0V\L:S8<3X, M2\^YU,'D!T"8L:@,43 @+.JU5EC4#UMA.;K8+.(R1,9:8 :?.>MH:2LQ/@I= M8%LL!8?GF!BL]=K'D*ZM4IAY6]2LCJ33O (=5$[8Y/CX.N30!"-2(#PX][0[ M#> USL!1RR8+_HGY=+ KM,U7_ M]O0@^K^YDS@)0AD&*-&G+B:9.GIC&:,XT$=O'@A!^=VR^1)Y4QAF=J.="%TC M>3M VECVFE>\Q1:L1UI,8/?AJ;;,[/;\FCO@,$UWB[/71[I-WZV\-=K- M);V'IM=A?M'_Y:29NRZ9.UV*KQ,L7SL7V"6K#9*&G8*S;%"Y[D3195=5=PD1 MF,N4(.H'0@(L-5+\F#]>=M'WF*O(..D2RSU)_BKJNY3'"6,D0#+@*<)9Q!')1(J8#(7D-*.2@5)U1^!-?!E;0_=J M\E??ZH&)XAC/S 33(2=@8KIA0J_?>0_VA?=UH#\N6' -R70DQF/09A5J0]+W M1=STM7,S^H_GEWX355T6NI:XZ2WYZ[)01[].D+MD=?%Q0EECJ[,)RPUF7J51\YX4;A[IT+)- MTW>S2V8JZ15Y#U-AHZGY6TS;UK:>QO7"6^,Y2P6Q8RXZ3\]W@]TK)>8[9>WI ME'RW8%ZG0= E;_.2R:)7M[ M!"GG;A4TO,.&NO^M[)O]27!N4Z M";L5KE.T09^#VV^D]<\PKO]2_7Z,V.ZZ MR8\9T)G/EN8_WT3;6V!=L=96H05WH22^D.HF('SU'RQ\@?*0Y4CD!/M)GE(> MPF9*3('EQ&?)!JI7M6"]-I=XII-A<'\F/A%<<7WVDZ#YP]ON7(>Z=S.\<_-I M?Q/.OK;6'\3Q7T/;F[#9F98W F8]N[+4';P_BO;/J^7&?=R5JV^,1!EDC'$: MH"B1!&'*8Y2E<8CBS,^DY"3%# -'61J"GE@/?_BA-Z#259VD#:1J6[[G^_U/ M\&Q+4YZ:J=EI. 73G6LFUC\]4SR-@![5N[W/JW#HGTFF3#9M:,0.H;]&"VV MP]AWUIIS)/LQ(O8&LQ]]Y/7SV*Z6=3=ZJ;K#FFA_5$F$*^^3Z^@&-K#:L[VU\O:ZV_04*$?HYYB'#*B?X/ M0S02%"512(C/]-48Y%)] ]MCH7FW56-O8U?,K+$WP&N8^I\HE_!SL52WD6[L M6X^0MYE8>(33;S"QL(_EOVQBX1%63YE8> P<[#B^YR_+7D1/8;)0AX7"H.VB M5>U%RJ,L2))$I"A(TPQADE)$@Y0CZE/&4RF9B(PNPC"P,Z8I'&!BIIZ!;!S6 MMM,Q!^@S'.(+)$G@'%;Q%7O2WJ#F'U^!93OP)_ZDC$\).W);I:_?;32Y'T5! MH\V!J\VBG.TH7.M:R[<=#P/69M)T.G@IE,B4$95D<(1SZNNE5I&[!-&1^P'+) M)32B< K6Q(J@RY/>@/;6L*VF@@_QS#ABX((30%-I0[TZ\#N.K"%?>.^[3E>N M)X(;D.HN&' 2TMS>_S&2C[C[1U^QG/BME'VCZ]NKVON7G\7JOB2//PIVJ2,+ M>Z8LS8,@D92B0' E\YA(1$DLD<0LB 0.8\I GB\8^!DO40M]""Z:0[#U/%YX M2]&(!F'*FGYJ^S=R\5@*5K2Z0KM:R,.JK(M_-K\ 3@R';829(IF.O=8F1>>@ MHB_>%A>O06;2G&T[3K@:*@X#/N]P<2O&' P9MUO%LKG=ZN&AJ+4BK'0;K-52 MASW%DA6BVB;0;44E3 D.TX0B*7&"<"0S1-.,(Q9R0M,XBAD&%;# P$^=_;!% MIE% K(\.L.<=C*UF&F@Z9L$TT#Z?=C#I90,[;CQR'AM<]<&# 9^W&9X58PXZ MXMFM8J=^VLA)H^VVSNO.T]T[_KOZW4NII%HWB/^L7KA+,A:P2,_$H9@@',1- M=[ <96F&,S],692"[*Q47S8I)FV#[*NJ M>A+\JZBOY2WYZV]%_>/':J';95=W7&0TE'F&!-&S,(3Z3\Y3CB3)>%OKLT)O= M>#&:%SVE1NK%QN/WW$P:[PK;23,P!SJ'PV+7S!3*U#L!4S?[I><7;1+415MX M4GDM3KK)AN:K;K[1Q\OEB ][KC@; F*!PLQC0NR9=#A(Y(RU[%T=JV4#KIO8 MQ626DSS-D,Q"AG"6<92%&",>18F(:1R*4$"]&3L09G!8K):MY,#]$[N\,'=! M6%,(]S*LB7,X$&R4$H>.@MWU9_<%'"7OV'7_^(/P(H=?!&E,%QV=,RQPZ+TR ML;!TD PKF/;)&1:/,RB!"44'Q%GH\ 3B5L4*_75F*U0X@GR_2.'8/UMZJM8C M(=H[8[MR174-L_;17RT?GVJ=S+EDQ:(-;+U_:5[_ MH/./NBR6B-&(9#A#"8LXPC$)419+Q=LD2'(2IZ$4"A]G$S#[PIDT-STY)?UWIY(Y' M48O+^U(T]_&JLV^CG$8AB4.4Q"Q!./4QRJ2R^H,HP#*E$0T$A:C9TZ F5I0* M,.H@>V0#&J8J!_ADINS<4 ]35UN8WA;H!#>#<=H"DPXP2&71AD)UAA,+.X-2H!2"BLF#@O]+*R!Z8(&FW[64X=/,_ZD MCY&W06E<4SAB)J!$96JFVE6K6##740W+.?P8+&>Q6GB^RI9SZ-XI3 MV;Q^;D?U=>%S4]%<-4T;*W4AW/ZMR7.]RVD09'D:H30.),)!R%'&>8ZP9&%( M ID' 8K Q$JFGR>_Z4[0Q^A"IW?W?M%E=@-]8V"VFUT#IV0F3/.XY^,9 MKJ]P0_"LU(X Z\'&TGY9U4;]\>A#E?;&\_[E<_5G_T,V. MR/+E+A1!*D5.4" )1CAK"GCS"-$\H\P7<1BGL>EDV@$X$RN?%K*W!NVUL+T. MN/G VB%.#2L2A_3#](4EZ:"1M@:$64VW'5IWMD&W!L3U9]Z:/&XY TU?>;X_ M+7GYTNN(\N&I+)7!9[_L9UTZA6 DJSWR44Q*AF,=QS*,HX@DH27P0VARN M(/M)3,.,,COPG9%OX^YIX>Z.7^I .YR=9D*AJSEJ@[#FG:EF0O;!?#6CERPO M"N)>WSB^B4>=G+V\ATYH./'ZA!9H"]';@)QF%L((7:Z,R5-@YC4:1X@], [' MGK+J;%W!K569IXYH18&W@EBSC#M]E>SHI#6#.>NQ"V+#_AD,>]FRT8JH*B&^M$W;*U86CSU_<902*;,<^6'L(QPG M$2(9\Q$A61)&F(5I"M(/ [ FU@HMY NO@7WA]:#;^8"'N&:F$QSQ J8)SF # MO+/).(&NVI@,0)JW9\DXR0<-2@Q>L1/L2\9T0+"Z(2]-RUO&RB>QT^AVR9M+ M9^]7VY+)[N+9Z[ 4))1JXX#C6)GI+-3- 1A!,LIH&ON81PS49M$M>A.KCPX[ M3W2SSYNC=-4X4EB+B;TKR?$^F6F?U^,^3&&M\?0Z1/4DW78K=CQ7>CM:OU:_ MI_@6X8UO:Z(V*M.PTY%Z=(SC?)H1S8N7&U)P0-K>R#(S"*X>[?15 M_7\[<+H_X*E#Q]/X@#/UQGAD),ZNV .797><@UL\%,O["T^AX/WR M]>9*MQBL"L6$@4QS*#?&A=8=(X 7B#$>3' (F]%J):LC2\\FJF8D]B75\ T[ M7X=N,%^_: 6P6BI3O*LU]C.2R1!3E/A!,QDB0R04#*6",BF)$'X 0F:_@;+*!848PQ>#K^B!%CF[=QV',>GD>)'/_#CS\L)N\ MDV/M>G$@_)CE& 5$SRP4-$0TY!'*(AY%DF11")M9: !S8I%=)Z]HI]3]MO"K MT*G_#Q8=V$VX:";)CGD#D^O#G)[)NQL#Z)THU^?5^Q@#6#"6 >2^8W$;_-A, MB&ZB(,U_OJ[JWT6MVRD)1:4R$\J':ZG;)^L,I.!.LC"E/I>(2U_I#"X%(B)E MB/O;P"6/PN^ FFF$:X9:9_W/$ IF;Z<+T.\$47 MD72?6F5&I2-],0)L5K5@1OB^]!N^9>$BY+PICB,+[(?/Q\QR4R_AV$)3.PHW M\#V%P+OGGWJF.A2TX /84#3)C"26A*J9V?<'3U^5R%IH3N> N- M7[),CN+_^U2U@UEN5UM@.FQPM?Q 'HN:+)H6RE19";P?Y/DFVJ)8\5V4SP43 M-Z(L5KP;,ZX?:%JYW<41"8,$2WTQ274KI1!1%NM,RB27(DR"+/1!Z5(3(SRU M3T3WQ$4-;A[K(0=,E9IZU\RLC+>T%T ==W/UH>L'C]XWFW'3-NCW+LM2/=BU M$KE:LK*Y'\E5J2Y"5>WU4'28-343'UWE44V-[KR953,Q_R#7:BZXMO5IWW^( MQ6)=<9_QA 58$)3@-$&8Q'IZ1XQ1+J,D\P6F<6+44/CX\E/'CMJ"K0:B;2." M'6X,J\?S:00&BB#D6=2B':/BC$*TG>5FKD([1LIA"=K1I\[L\/W^I4NUTA+? M]+%M6L#+1'!.)$?4UT6?F!"4)1E!#,<\R.(@C&ADU:C[.+R)!:T'TFM@6LWG M'N.9F7'BD!- 'PB4"?9=L(=)<]W,^@2TU^E)/4SZR=;2(Z_9GI5Z_G?YN"J; M\[D9 _Y!Y[R5+Q]67-R%08R8WB'@:$^@A.\Q&TU/7&7.LCN&S^&)Q.AM1>\9Q/;S^S.>W M$;&'![K9:W#'YVW)U7WQ:LEOBWIA%*0X?&MB:6U@F/LN]R@:=U3:$P.3KMN2 MZ'E=^_?S=0-:;YA.D$?R.$E6[L>]I6;S-1XGH>]8//&$18?U3U5=/"B1XI^? M=&AA$UW\UHPUK-K;Z?QL M!1Z[&XZVJ/52'#KDO!8[=19O\/-N5SM].S6*_;'V1YW=2^:;2;Y%3%U,^$J6]LZZ6]RP*,XRB,$$MU%CT3 NGT M>81%'D59(&-*L/$Q]2HD3'RV]2![A/THQ'/K!"$;!+QWQ;*;BFR8%?.*^VUP M*K[Y780=I?UXV&X]WY8BW?'Z:-Q,DW7A=44+/9UQ%UX_4^EI<_; M$OCFOPS Z?WFOQ"[(__VAV@&E1==@/0_WG'1_O23^IVW?-(913I[]%X16JL- M7VT_ M+-,%^UM=^/:N&+]4P']D/S12_Q>$*9R/9K(>-?"\QH>-6-&K0T7@>S M^I^VYQ4E((]V0.DQ%J$R34!DI6,8H5;=HDA*1 MY69QVN/+3YXQRPJS,)$]@<"SU9@V>'7/41)<%?+L+CYOS[FC H>"X0CYB537 5VJ ME_,X1R2/*28!%SX#16Z-(4]MQ9?J4"\>%Z+2YS?K8W7A/7=XJ1.Z1_3E)P1^8'XZTA3G<614) MF!W[.@:^ #R2_$$MB_ M6];$'@Q_V$QK2.* )0$-D931'%.0 M7%O@,+7 ;\ WEO4&/DSJ;7AKI@XFYAA,3VQ&+O:PN?!Z+-Q!Z&+3\M9!\K,# M?CA2+388S*ISSF#1OC(Z9REX\M95N]YMR1O376G FW+%OJ[J2[YZK 6\QYWQ M@A,KF0X/;YTRM<:F:<2C41+\2;W>-'WH4#-/$#/GVK#&F8QA,!UCP:L):F#! MC+!*1C.',EN>&ICP?@H;_&5KGR 3R[K5/-^*ZH_W+^_%DOUX(.4?34&"NJ<' M)*0!"O)47=;S,$>Y3!*498S2D,F<AN]MP%L5=(PRT-C) MYXPM8-^>-4=L?'=&9+ISV0V#F]M39T3\$0>=V7MGEG%=+1^?ZNJ+>!:+H.O( MDF:AKNO *(MT(" B N4)]E%*8%FM=80U9G+M MB&"82&N@7@-5IY%KN+H75D/_!)UJ#$AT7:UU!-+K5&J=)OEDE=; *Y9M+JI* MU)NQQ*F,_90D'*7"C]5Y+5.4L2148IM%$2.AP#&^JU08C[/-8!BATG=5R#-3KY+@,$'TR MXV7H'9B 5V5]]TU4ZX6[ONA)G%$BLP@%44(0)@E#), M/*J_;67Q^)JS"-\@.6MI&W[([OQ<-Y3ZV&5+7RV[&6NWY"^Q'KMV%Z4!%4*) M'W9VO(*(=';1F,&<]<4%LV#]Z82];&MF3 MI:%_72V?E483_&^BN/^A_NRF=_VLJS1T5=[F!OYMM5A\7I5ZU3O,18A%&B N M=+F;+H$C,LU10$(<8'633B.87?^VZ)M8\:U1V4Q*:Y!IZEV]K1,*>)UX6QPT MO<&\+:PGO#3-5D>W(?S",_O.IKFXOAY771\OK1\M-@)M8_&J#'.XC <3"U,)&I[7$+N&.$&ZSS!1 MKBH#C@.9-_E_D-"#_/[AIZU#*JL'<4O^.C9HB9,XBO)0HH0'(<(TUS&5B*$$ MQS3,(QI)#LK-&P(VL8!>G1,X.72WZCOA/1M:FZEI_5A63)"K+8I$)4 M6W34T]\+90W+@I%E?5IA&[5/2E%)N:>DJGK;4Z-W=T.-M">KK8OU.CR9O2]2VDFH: M??U:>^+H#)@=_5G/E=?:G/VSZM7P<#@&?EWIVD4MJH]/XG=!RL]*Q._"*$FX MH"GR?9(B3*( Y2*3B$99G%!._,P'%9Y!$9CX_%%2DSF8ZC[$0;,#8$J^P!3X MZ3GN:W0N.I>@'B1WX6F,/(W2Q./;#9@QY=SV(?"O/[#=@#E&D]I-UK&,.))2 MN\]TG\HF3KK)30^C+ IQ1)$?Y$K#T"A&-! $^9)PTO3:R3-00/$$H(DUR9=5 MU0Q6:)M/ Z.#IWAC&/QS0#$PMM=!U#[M-L=DDJR/,<)5.@9DWZC9"[$%0 M;>QY9UUUOFU"/U=<*05EI.A075OTT_3<+P57!DROT8_ZMZ<'P=?]?IHG[X(< MYU$0"$1%[BM!3RC*PE"@@.:8)UD8I)E1JO_DF$ZL*3Z<45DWW>X8^M+? L^! M[OBC/7ZV6'M]M+T6&V^->'/][*'N=;AONXI=#N^BBWY ;CD\7=<@1WB^=F\A MM^PVZ$#D&*!MKD1-%&)\?:RH.^C3P]-"SU_Y*-2UM*CO(BD3*;(8R=3/$4Y2 MC&@:9DCP. ARGZ6Q#PIUC(.<6!/W 'J\A0A-;AAEFFD^@TM60%,86MC>QJI[ MUV=,!__T-!6+I 538IWE*8P"G#DUP90!A]D(QF_:JH%FL1M2UB^W)5E6RJ)L MNJ$MQ54M'JJ[.(]R'LL<48IU9U09(B(HUHV)@DS*+)'_7*'@-#L!2[%$>FNH$=YR!:H2SF&*A$,PH=:8.1L#-K S,B#]4!8;O MV2F"G\52E&2A[(Y+_E LBZKI?/0L/OVED]_%'";[ MUS5CJHM,/ZI=%K4_^--4A'R0S MKD[^5#0UXQ*Q%*LSGX=$P#*=Q@!.+/)K\&?4BX^RS$S<73(")N\;'FSSH+K& MI#HCJ@/O3N1-"74D\Z/@9A5Z4^+WI=[X/=OA\MNZC,O[^\MG4BPN'VK8I/FC M2TQ]>;^_+\6]KCUM XV,@!1/BRT#HF&R>K1\?2]ZJHC_'!62&5(]!D#[(^O M._,T^T'B#D?;#S]^AAMNT>6W1UD:X!PG*."^CW"0^2CG/$2!GQ*6LIQ3"DJ^ MZ"\^^;U:@[+PIBU N?VV%%EXR!839/$?0]^ESVOQ&AG[QX@ZZL?:?P9^@'WZ M1_UR^6?)JTO^O^NB$,.#Z\BK$XM$5Q#;%(57O6'$AD;G*7K'CZLS287)RDDJ M'8K/"%%6Q]"Q]68[?@:(Z1\[0X]9YL/OI/_L-2#0Z8G:?OBFC(JNPNT."RS\ MR.?J$B@S=22Q!)&(IRC)6MVY$W),9BH'V0('C2(6:/C:7PV%; .4[0M>>$JQ1H*?MX4:4OF'*0XVZ[C M0B5MQTO%,I6A#%(4\I CC(,$9:G2XH3SE,4)2=*$WRFDZ,I.]UB-F^K#,[_) MZ0;;Y^@2Z,PM!X2>J1DF&)PU0M0D(OY* [!&2!T6V','6:U7_2IJW0KXIEP] M%USP]R^_5MHIU94U+.\O65T\-[?ANRR/.!=)@B)=*H"C($94)ABE<1Y$/""D=I=NIO M'B7-ZII_>M79+ONCA/6O_.,/VYWFO38V3?7 VIN4ARD-A @03_2 W"S*$^ S#)FR<@#.Q1/9;,%7UBOWA/2W!36=.L@@/05EUE-SA-3](W+L\?.2,KHN5.N12I*G(65AA"BERL!F3*(\BE(D MDXAD%),LS4#M^X^#F2L!HVRAVN5>[''&3#C/IQ)/!@9.KI)V&"QT5Q=_D@EEQ'$C\OR/T=P3CD$:6(X#1 . W5"2@)0YRI M@Y&(F(LD-9&W@Y4G%K,-+$\#,Q.O0^J'I>HLFH"703-RC(7H).H#ESWU3BLV MZH>MM!RN-(N0G"1@+1NG'[ \BTA9ZFOX-_&X*G57D*@[ M'0TQRK2XX)P0_9,>)QZP(.!A&OJ@=@M ^!.+UQJ+;A3%+X)HT ]#EI83KAH> M<]/Q"B:VI]DTP9W1DFI7IR40^KQ'J1UK#LY9RV7@A_"G9:U.\F_BOBD^6-9? MR8.X$Y@EF(@099Q1A$DHU*DLE>TK=3U@SH(P-\H).05@8IW1@O2V,#T-U/QH M/LJ3\1/Z7$IA$@\D$G1@#U%B=6X?77"VXWN(G/XI/OBV:[MTN^KJ_M?= M D3U<[FJJKN094'H"XF"//(19KH$'^<18BS'6(D;B5)0^M48P*G]M!UXW5", MM AXM,, Z*P=XYRAU]8A/X#NVQXK.MC>%OB%UX!WZ,@U)-251W<,W+RN74/B M#WR\IN]9!#_Y_]ZNONI) JNO8J5'3'U>;IO(F@9 AQ:9^F*[R?357[">GG3S MZ=K[JOZ_,Y_N\VI5+U>FJ93CG!D6:Z=, =Z,8?QPW,/6F'"[(.K@RO,%4DT( MW FF&KU@.5)5AQDO'Q]+P8JVJX_.DZR^7W[[;EZ88+S8Q,+

,)6O,#F>G7(%)\QA#)K@V&U/K:@CE*+QYQT*:DG\PJ-'XQ0F'BGWJ MAF?=%@_JD6OY7?VVDFV'CMMFBKB?$)I$L8]HE$ND0[8HB^,0B0 G?DPYR2*0 M'\X-6I.[YXRG9:U1]5I<=:OX/K;JO-3X@COS.-D[,W4U_XY G8"S;<8T<\V, M>3?GN+-QI-[>%#1C1EH-1S-?W;)3D;YZW90K6=1W/L[R,,XYRH7,=5B0(VN#5",\M;R!Y#TVH( ]AWKTFVDF2ZI@ZJ4EZ&:8('C7 MH$/4774(ZJT\;S>@0Y(..O\<><1VEEFM-JG8]!<]-K KCWT9Q'F $MV6'>,D M17GN8T1"G/M9GN>$!K"19J,P)[8[MAAT798Q:,8L.)R&9OZJ9<6E'DBOO2&E^"&65?$LVEY#GU>E M*.Z7;K&])D M:"8!RV64)HC2.$;8Q^H*1*(,Q31.8Y[P%(>@B\^LV$^LISJZK]H[/1WDIPMOO;]KDG9Z MJS9MUWK[O27KPOO:;K%IH@Z*" <>MU\*=G?1'93*I+)&64(?8@=#WV MO)W0;@[\J^7C4UU]$<]B$:[K_8DD4C")HB )U"'MIXAD(=65Q'F>9;%(,B#22E,@I%ILSJ4!G8F$N498E @4]]'*5!GDN0@7T"SL1R MJZ%"2_^/\\-,8!U0"1-6#7#Z(,L(6U*Y99GMTVW#+_NR&4.WZ-#>"_3KG.X0M M)T]\T"(P=7//7Y:;F;%-U4E5Z!O]UR=M6%S+3P^/B]6+$)M!L7(:2 M,%(W\3QN(JVILNUQ3CB)DR0W&M,$ACRQFFGA:G>X6$->UXQQ,^T"Y^6P9IF4 M0S"MLAERW4/CPMNR;(/*9K+U5"SC*_:D!:'Q.[T.ZW90> T6&FMI:S:T&EJ_ MWJA=/XJ"1O7"%YQ%[5K3N5:Y]@O U&U5UG??Q;W^>GX6J_N2//XH&%ETAD86 M9RD5489DGF8(AZ%$1!**B(\#2G(64=_(63((96(UV@<(M,Z&F3.L*YV1#-.+ M,&J-Y=:(FB$K2BW0LZ#4W[;6T_#:LXBK$7EKT31[&!ZZ_R;8ZEF4+TJXRR;5 M8'N'^V(X2=ETF>F^OS7TY@ IR]52K)ZJ13<>1_#=6M"^C^"+RSG+4#Y8!<2- M ,P6'8>0VP^5@]ZS=.<5%>EF]:E=OY9=$453"K%U9J5A(B23*?)C(A"F>8XH M]F.4\B0+?)I%8>:#G'LF4*=V]>W@H&7BFU7K3R,&&GH#7;,%Z!L\Q9&NI,J; MQE<((=J5Y] (YKQ^1 @;#KR*H)@T8S1 IP;1UGH,'UWBE;@+IAG".CL3X;K@!N\$ZY8W=M'^>2 MHVNZ,:V#=_/Q5>:[D!M3M',+-W_+0NEI&^M:[O:-_;!:ZF%&ZLOXA?Q5/#P] MO%\I2_I/]:L/Y%$]4[_MPAX#RT&'EVCX+$.!X :L&2T@<:.'%1=W<1)A0?U *?,D5FH])8AF-$>IR)AB413'F,,:BQX#,['F M[CIO=I!U^9:&[2G@GH8.[3-ZE%'#:MD=^3#-:TNY1?/1(<+.:$%Z=-F9&Y$. MD7;8CG3P:%V$99OHORN>CFW+PGE>!]-^;EHMFP[E+,5O?+XI^" MWXBR6*GGJKK:NFB4L49\$L1(9YHB''"&:$ (\GW),BX323%H:,9DF$ZL(M9X MZS.T&5>%J,;58SUD@=GGD^V9F5OM3>P$3%LUF*$&-:]K].E=EJ5Z1+0UN+J/ MS5+_J\[640=?H21,HWG1C;V;U&4W.4-=)=Y/AN>\F?M3L_L@]7]R@)9%?JME MM5H4O(%UHWYB+UM=P/TLBG":HYAD/L)1EJ \I1SYPD]P3&26" JJ\!L -K$* MOBF+)2L>%Z(IN&5]1(#E?4,,,U.>KM@ TW\[4+6QIN%Z?^_^G$2IF1#JJK1O M"-2\=7T&1!\4]9F\8Q-B5U9BW1QONC"X&=AE6!E_Y-6));0'T?LHU (/Q;*+ MFZM?_Z=Y9?PQJH<%TP'!,%D<0X0&KH'NXM0RZOVRM@]Y2LPC'(>KKC__( MO\#C%M\%>RJ+^B4(Z6U1+\1=F*:12-2QGN8!05@$#&592I%DPH_\G(>4&D?^(-O8&BU&X3OZ$_>&KIY;.* &>,1B7-(A D$E#I0_.$4&591AX/%9HLU MG"*C'V$X^8RU:VFW0\W[EUNU4G,?\V-)B,\$$I@J8SEB"%@MF_DK;:_!U"W6*>ZA^K M4COC_\M+DXLX#"Z"+&PN-VE\H>R!"YS&7E%53UT@:?545[7Z06?$M-T>?]%5 MP__V?X+$_Z\HN/#TQ]<\^5&P)K]NYY^B"T^!U0,6BF>Q,#RQ3VZ8J1*QWP:H MYFAVX'N[ ^N&-PWS7*J-X^0XTQ5[R\^L((X3=Z@53CQG7>/25"9G@H\6W>@.W,/S'3!?)R%:8Z1:/XDO>W<\,)=O'K0WLM5^7E5JD^P8)=+_K%8/"FHNA'\C2@;N!M1PSA/)59V4A*% MRD[RA:\4'R$H(400'(5I%!HU\K(!/K4K;8V-)]7_J<:G,69XBY&W:*8>B;*U MGR#N<2"/30()TW$.Z,&#(>+*0VY'_K"O'+CFC%YS.VIW_>>6:UA>KTCU0P'0 M?WSZQU.A[B"-OJH_D+)\4=>'UH3GF>3"#WRE1H@RG?PX1EG*B58HZK8E?$%% M!+ISF4"=^B*F@#=:@^D?Q!8-X'7'B(&&=R#7; %>C-8<:7[H87#AD=I;(^&J MA[X5T:ZN3T8PY[U30=AP<-$"O6RG*=:VC%)+-^6*"<&KSXJ*9FC'U?)95+J: MXU*[#(JZ$-4=B7'JQS)&/.)*9S"6($(3C%C$"9'<9SP,[I:ZU%GP6W/5 43# M2%KR5EH.D#&6G'9*3[$&[Y$-?(N9<%!&F^F6*?AFI676B#2VV[LU+IZ6B)^\ MEI$;?+PM0NX4CB4G'*D>*/19E9 E:_;5D>TR=HI):[SZI8LCJ>4^__;UZJNB MMQD75-_EH<]D0@4*(T$0Q@%%-,I"M3.,BUQ*%G-0E]1AM4$$IF5&N&:F5-SQ J9#6KC>%O"%]_DW]/7JPMM"=ZH&U M4M&T :O:T5>"Z\=NRD*=M?K=RKO]H6QYHG,+^S$B9?3_VBAFTQZ>Y^W'L':9 M;2M@2F?677 X<<$).ZW2MNVASI;BQUJTBZ\CK@+[[?M MU[$F4,_@U;_6E<*][V5#IK>AT[5?[M7WRE7Q\*O1,6]Q\6MOUT'Q\:LC9#F# MI5@6M?A2/ MU2"O3[+[0H*I*U-6738O@((XP#F..:,XPPHE,=).)% 5)G.9) MBD,9)J#1*P9 )SZB6A10@X.W1<)KL3!K'FS/4+/SPS6;8*K>!8?@LU8 )+L: ML6(",B59?#9:<$/Z]**0I=4%7] M313W/[1&5#=0,<9ZG(*7T-LB: M6NVUJ"B)?J?NZ'RU6.C[^29YY*>9#'"W7\+$UOBK[>_LIGGGS.F1VH6H:D7L MUG#OT7OAK2GV.I*G&D+_-K?QM:UVMT3]:YCPDVRD,WM^&NSL,BB;N3Z_D/]= ME>N1YM4="2/JIS%#C,8$X3!BB. X0;Z?XB3SLX#YH$3)(S"FSX?LYDD]:+ > M6\.%I3X>8\[P2>*(9)A:[ZB]UD4MFMH/[JB%-#XXFVJ[3@1N<>BE2D]2?V//$D25H M@<"L5IL]@_8MK#-6@B=3_%Y^6O(N5+D?FOSP7/+?R_T )BR7PG;].5(IQ)*; M!NT_Z("_^K$)^=?NLV3^>.C$'YRTR)R9CNN-4B7/99Y4I80UTMD2)<]G2 MSY,X>RW+#/92-P"K7V[4QUGKP)+Z_AZU!:[TK'Q:?"FDN(OB,,KS)$2^5/_! M >8HQR)&0N0RB^*8Y,2HH1X YL0:[U-5%P\ZK]UK07H:)C CW8!Q9A:68W; MU- :^(77@&_C[&L$+HS8 T\V-R?858*Y <1YD\K-67"02 YX]752IWJ'TK?5 M8O%Y5>I_O$MU$^L@3!"7&4'89QG*PB!':11S&H>"Y3FHB?4T:,[FENJPF#>9 MZ<363!P;<<;PV6,=FVA&W]#ZN\;>Z]!W.7I@4OZ^=A!B&,E_C:""$:-=)_V, M0+/3\;HS7!GZS,<\1T&>^@C3 ",:\ S%A',693Z+8U!0 M_1QDYO#4':O_'1]R[Y[O9FIZ+F["E/$9C 0K4A<<<*0NST)E5J7H@FG[JL_) MFI:-L<1C*5C1ZMHEOWQ8_7_5?6EOY#IVZ/?\"@(/R+L#%!,ME$0E0 #?7I(& MNMM^;L\$P?U0X&IK4JYRI+*[G5__2"U5JDU%LBC9%P/,==L2ST*=P\.SENOB M?YL@5BQ8$*9Q!G%")40B3F$>!1*RD&59AB*1"*/HI@&LD=53'W(M7:0'V[*+ MU0##S!2/)S;8Z94^T!E0_UJ(#3/Z&-1ED$_EBC^S0=[8-Z,Z3[6O3E,#D*9M M(W6>Y(,>40:O..8F=VD0VS94.G^Q&156-6?+/(I#EE!$89CJ!IF$"T@R(F#, MTCB@+(E"+*URDPV CIVDM_4;?Q-$8]#T6W,R2XR8:*8%?+/&3AVX60FZA=3;B?;'3B@X#5.FQFH07IL M:S!$D:]N!D=A3-O$8(C,@]X%@P^[2>:7)2N5>A8?1?/?+\LK5@^+J&[(JZYC MFN>90!F/$*04Q3%%J=V&#C3XK0/^%QW7WO#EY@Q?K&79F%9/WJ0R;DS^OKR;O^@F^]?- MQ*GE_5>]>M<7:8XHY4$24QBG1 N\4*(O4@QS(3*<19E49[2-P!\',[*4U[# MHB"T6.@\CJ<6K)VTG^"0F8A?3K>=7&_@@1K@K NA>.Q.-DR2)_$] 612F1TF M=%]0SSQMG_]VQ?]^M[H1*QVG^+SI-2?+Z#I#5#]A MZ]RC#N*GXWIWC_??ED^%OA3;"^"I!<8600T7W!6/^A3X]OWF"]C>Z2W$[B3Y M!H+G@W)+T1L@>@QQ.T>AF\"=7'4ZD3M'V([0G7W8H0:NF\JI))FVXY]O!5O= M+_5TH2]<*=="%F13(7_%_N>Y*.LV'%];0T^GGU?5\Z/ZY/.O _;^O M5OQGL5 ?L4QC*M2U%HMZ D%(($E9 /, D1!10A.>S=>K-5D,B_O4B%MID WZ MQL)TIU\!I&D:05HD+&K7IMS"86WTGC?&3L%MIBSWJ)B!+1V@3TC7\*/#LXZ_ M]8@!+36S@PZ[Q:%D.]T_]VJ*]_?=V!7O/D&FS%8$3HE/M.5F;X! MEW=J5]\"OH.)?W^_OEE62W5YJ'Z\L _5VJZ"[-3[8QOXF]9Z-^IN6:?0;BZ> M%?@ARI>"": '/5F8^Z=886#M>^""I;%OS #/E5?G2'6S^D\M.IW1?X:L'9O_ MW+,.7;/5G?V*K9_)8O%Z0PK^MZ;_1ILQ8'WO-EQN9"'=37%OT0$:'_!2_5/; MHZ?%R:*AM2&KSDOM"%RR$V(;!HUP@[>DWZV[M"&,Z7I)VQ&]TSG:\E6W:%3O M]/_0SGF021B$:K!GXX'O,Q6E*/$6=C@"8-.)TFL#]:-/ D_8'\-^J M]?+^X_IHO;,RR=6?-V7/=@:R]<(C'\I_:X48@1EPA*(HIS# M/,HPY!E% 6Q[KF-9Z!)]?:8O#LEAWTE T^"\[3) MQ5-NPT&R\J3 [0_9-Q[Z_>!P'U2WH_-5;[=_%K??=3+%[$M]5R_5#-TYA&+& " M1E3JMN)9 '&*(QC@+,01X6&2A)Y&!!F@,_+QI[\)\)OXU:4UK-6G)$ M)! %(H0X# 6,N_AG2@?@8:G7<8-1)\AHT,ZO 6+>DM/'"8Z).HP0'3D&3^,F6IX.W[;*9?C MF;);5,$.KGWW:34#-;IU8] 6X5D3UIH!C;0__30.,SUI.,_(3:HCQV'LOI8= M"A4[;L9T(PY/P';^2];"#:S/ [PHEAS>N!/CL%V9#6 CL?'#,B MT:(R[S)2W0KH=DCV5-1VFH[!VK,CKTU7(G8:YYU*KH'''&?JN]SI$ MHYLL5W,91VG&&(4)3C*(9$ @360&911DF"4HY'ED-\+%%VHC*[$64=W HD45 M]' %6V1[^0-MDR--+.LWF9[[%3CU#OC,%;&-Q.] M#9GQAMC$(V=\,_1P (UW"&ZJ^\/J\;%HVD7H@3==Q(85HIKG82J)B 3,(ZZN MFHSED.:YNGERA!*)= ZXD:_* -;(RK4'N;XCL3YL\-MWW8DRM$UQ&V*=F?;S MQ! [=;;/BQVP_I22 6V>M,P0I$G5A@')^WK Y!6?(=#&Q:U ?5$4*6 O0M\W MJYO5HF"O/W57P@8U<-#':Z9S7W;__$>-G:4#Q6T?#&V"L;EKZQ8YP\K MW:*C^:<> %9M/9"9B"B)<0)%H"=U<4Q@CA+U$R.$4HZD)%8-3;QB-W9(;--] M:-/0>+_A<8W&5'JDZTG9YEZ!>)8@"@4#F)W-E2'S6N7#O'Q6>@RV+N?JWD:R9 S MB6!$DQBB@*60QBF!0FXC)O" MV8X]NI9];U9KM>IF2M5!BGBU[1PM.8U9%B 8Y[I(FN4,DB")H$B#%,6<9B2T M2D6X$)\W\HS;*:E+>6ZFM";DI&=/^2@NL_0F^,8YYR0"(9AK(M.!(&890E,91QPH0RJ)"96(VSW (RLFLY-8#9C M@IEJN80T.UW15%]\-6B";C^7]@01OB;2[B\_[2S:$\0=3*$]]=Q%.8Z?%3Z? M?JF/>$D6'YZK]>I1?<^_O_Z[6-V7Y.FA8%=Z-G7M#-N>:BD1-(M" F/".$24 MA9!F&88BYC%*HH"F=NU6+L!E0F][5R:F7>NL10_4'Z^U67$)\\WD?B*6VKK8 MFVHT+02@0PML\-*,W6(&:M1:Y_LXL7@/3/*;6>B$R5ND$E["LA.Y@QKG4MD6:1YG,H5<"@E1G,4PERR'>98'412B M@.?(1+<-P!A99S5000MV!C1@Q1:@09NIJ2'^#*L?3U3;J14G@HV5A0%) ^%] M]78C_^J'K=@/K3F).!L0U8FIR:-^A@'?E*N70@]](XLORSI]6/_VRU*9.V1Q MQ9BN\"B6]U^6^CZ_$&NQG0WW44A1EH+?D5\;!\RZ&G;HZWKVJ MAS[HX3\#+05@2P+8TC#KS4><@8X.H C9^IG?U^9>-MWW#3?9K2?!W4-1 ;%H MW&6E>%*/-E7/#P*0NMA07RW(\A4\-N&K^L&GNE4'(%N1_4V9PDIF%3_X7]0Z M9%&/\.#/9=/Q5K0=X/6_VI?WA+P_GDSWIM;S5W53&W50+$63Y_*S6#\ FCW M?;(MWX'B-?BIC+"'&EC1?I-D^TW^)+I'3L?V?QIOIO!(GX#M*&'?:+SI!.&1 M>'INAYV2C48A&KRJ:@XVT*2+]">9'E)1[PJ*/333SMKSAUE@&=':R M1P\FR^L>WF9SY4?URXS$SA$R)WU@]V8YE1Y9.Y1MZ1.,PT7S9".23]W$@ _D MJ5@W%M6/E5S_)*6H(UIMURN116$0H@3BG,80R4S /!"Z=A0+&C%*,#&*-GG! M9NS0U&X'GMT&/+H>O!NRT,,2=&C6$\AL[I(7;XW!37%*AMOI8@^\=NGK=C'3 M+6YP4S+?[7XVY@=O=]7QQ:O!B\S%0*:[IOCBQ\XEQ-NB?CR>AX MV\G0_3\TUZ6J32Y0;ZG?E,^"M^,WJCE7EQ$AB808Y7KN1V1SC&6AI[/]Q!C:?4DMG_7I+*>A(_1-]-Y=Y M<]_K]^-F2OQYOJ.+?;!OL7&V#MI)<7Q3[^U;[,8YU^Z;X'2IW_=XMXC^1.(K MMBY>BK8Z=.LEI'$LLCS$,"*40B23$!*18IA'.2,B(A&1TLW5ZXK2A-[=9F(\ M("T>KOY:9^;;NFBG8*FE5_;UTLYY=WAZHS0&_E8+V7@:;?J MQ2L[CF5>U-^/NAL?A=]JY'F $\;2-(!IH)/H*">0IC2"*:4H80&F:6;5B,,, M[,@ZKQGK7'FI*S+DHYEJ\\\=S^KKTYEF9/:CI*TH]C5JV@SHM*.HK1AQ,*K: M[FTWE?%=K.L OOBZJM2%,B#_E3F*,S2%&:QIC\5#&+$EZ M[)2W)JB! W[3D$XWC;76TD>5.<>)6M?M1Y_R*6E8-W 3AVG5[^* MRKR78/^ML>VBPQY[_V+32'"'P&'9N(PV.\$XUCKP#PW2PU7K-!V.G0)WEIJP M1> Q$G9[ QY]8J0IJ-6I&7E')^']IRCN'Y3QY8^Z7LU.#4JLSDU)/SD*=@8XHT%(%.K) 3=>$PU+] M;\94\U(]8OX.^C2/NB764U-'0,'>B+MY>=KS61O:<0?M:)H:PUNOX&-03BA MO>=_+Z:R]SQB_K[L/?];8FWOC8""VZ'5Y<1<;4O>:@<7#WB4YAA!3D,,49)* MB'',8(3"A,)K\:+5P%IM?+%)6MN[R00BBB.>$\B$ MGNLJ*(.8YCG,1422E HL4.:6\66,PX0I7EM$VJI=UR0OF_4Z3OV7-$^\)6^88O%&&EC6+3J=DV2]E[TGZ]#_KUZN?):^N M^-\K7;-T_S>RN'TJUPKDC^?'Q_)5VT75>GE'%VVYGJ&KR7[ED?5/>PFIK;>J MU^:FZE?EU<, P&W=^Z2YA^Q<>2P=5@[_1&I>Q=AK*D:>ZYBYV M54][T--O=D5QN5HW#_[4H;-;(1?-W'4E?$W:Z8[XZ69,'U8O0M<-Z=D"YAK. MQS:=5WD3[Y"=#IQZ3Z0ZD'/I%?_T>K] MA2RTX5L[&ZG,,4%Y"D,I4X@2S&%.,@[C6(D6"SA/0Z-&L>=!C2Q.&F)="ES_ MT(/MY)L=X)B9=\8/'^P$SYD%UGZ6\]1YX'WGB,$;%T^O^+!: MKDO"UO]9K!^ZOO%;-R+!+(UY+F#.8@Z19(GZ21(8L2P),R0E3KCCJ(I!P",+ M>HN&I1_6F&MFXCT&+^R$?6>@1(=#T\>VPV*D&56VM/N?$S$,]JV&0A@Q8V " MA-G[KDJC6I>%OKK5=;)UH+CZ4E7/@G\7Z[:F5@>"[\@O#?]AM= .L6J>*RL@ MRP,*4QG%$*4DACA,):08I3@DB23,JIS5%9&1E8K&H$Z#6\DVHZ<^2)_:<5[Z MU[J1](HNBGO2)("K9YX7^BY<2^!2K)L70276Z[;IM7KK1=&KGJE+9P%I+M7. M:4/.NVBJU,;?&ULEUV$$:I1F3>I.!1JL@*[@4DQN?ZG=#[K]>Q\WGVKO,NYX M4X..:$RL%B]CUJ&:O' ]>U_#Q[83TN>B8F2AW5F?U6^J.4]QE&4,08$SI1%S M)"#)"8=8(O6_2$11G)JZ'$[ &-M'VT(%#=C&55<#-O= G.+.>4>$!YHMO9[V MY%KY).+7F9%Z*,T3UG17G'G6S6)H2TA]KLJ[/TBM:U<;1/)1AGNP+.V/9&4W:\ :MNZ"U@2T?%*3:9G?@> MB+>311>ZK4_J,U1Y.HA/09GTG#U#ZOXQ>N[Q"V?)M?_Y6BQ%.!>IR"2+)&01 MUC,@$@HIB5.89$I>$YQ*3'*G:7)]*-/XZ#?CU=H?@(8-KI>&^17#?#)UW5]( MO9,/WYYP]]ERQPB[?+K])^>/N: M1_1F[?UR]PWM,B^6SSIU\_I)E(UGUM]%8D2&>[J$C('AI!>8$5F\?_D9$Y3# M3(P?UY]OK\LF$5GP3W^]_?+[]:W&JIRF6 M),O"R*C,Q@38R,I90P?7)>C@@Q:!6B-8M/P_Q[)A->J;$7;Z<) '+L.,SC'# M8CZ!1Z:XS0]P^T#L>OD;$CG8:__<&M/UPC>D9J=7O>D[;G;M7@.9)G&MB\Q< M/Z^KM3K.U4G].ZD*MO%3(I1G"8TEY#*(==,)#$F&&!0X(B%FDL:)57S9"8N1 MU=^F411I&T6U$>;5%AT[$]2-U69&YN@,M%.;!TVV&H1Z4=\>3C-08S6*4_DB MOGBR]MQPF-2>NXA-^Q;;98LYQYU*02KQ433__;)L1V[TQW(L>5T4T=XYEO>] MO\VCE :8LP F7,>'=48MQ5PWU EEE/,XYY%5EX-+$1I9N5V=G@?&VO$]UG/! MO.V%<11L,@Y;A\MJC,!O'6Y_T:4W'<_[0Y,TVYN2G@V*_;][C:YYX9:_,-QE MZ$P=K_/"O".!/3_KVI<_?E:\6"V%GGJDU/3KER7_3AZ%:47C\;='UED:A'GA MX D"AW6+']KLM$4+#W0 9T"!U"5_SV0!!FFV*L,;)LNILN[$DI,5RPV3U*]_ M._.DF\WQ5525$%NYU!+<">=KV\JINA6/I%AR;0!M,VWFA&8,!R2#@HD((A%* MF#.<0R0C*9.8)0Q;W9_<41E99O7W GX3FU+]M?K0!'A<+=2"-CX\3Z8]^.-#3PL7;Q-@ M\_OV MV6&F9BX@TDYWV-!G/^KJ.!6^9EKMK3[M\*KCI!U,J3KQF)MH[4KSGG.ED>7N MCW>B? SG<2CC).$I9&F8*9."($@%2Z$(TC",21CBS"B%SQ6!J?VR98<"6-2W M;K7FXTQ?N%^57K/T75@SVTRRQV2AG>@?F L'KMH-.LT30"/D3SNXIY:S#.8 MYPF!:40)RT089IE51THW-,:_ &$[%>3(33-%-#Z/+)T?0UTGFSF<=1)1'[E9 M6PNDWO&GERYCC"?MY(C$I#KJ,D;M:ZH+5W.O#VQ:9G]:UG;:G$3W@48*.50,>?]!.S-CJ>;DN7^>W/^8\I&&88 ;S MF'*($II"0G $&4[2 ,5(1,+(S[E=!SO6-,D\-3M M-EID'-UFQNPU,W;'8)J=5/KCEWVS+TOB?;7^,@4[;2,P2V8[\D09J&&HE$H6$$2PI$(8&:AG(8VL0+9P MZZ&\*:5(]-/7[[1UV'@F9J.NF=LH+ 1'.8T@)"2&3 M,HK"E&!!(H>!?2>7Z.-%]>\I-PIG6'GR/WP.]]]@7[1+DZF'?W M>/]M^51\6%:\Y)\7Y-XT4>[XVY.$K^^*1VU9?OM^\T577%8%UQW>S1/H3A ^ M+(1^:+:3OB%RP1\:MJ=.]L.$.:70G5ARLA2Z89+Z*71GGG2<.4@JT2M^"X,X M)SQF,)6ANBMG.($DHCE4)V:("0EHRJ75J,&=Y4>6.@W,HC3R! O,SCAWPNQ$ M:T.3QYD0PS3XFA6XN_BT(P*/$G8P&?#X4R.FHGY\%O,\24F:JRMDF*8Y1'E, M(8X$@B17?Z%2!$Q&\[6>$6(F8:: K61O ][X.VVFFC3I'UWWUQ%R2#4'S01T M#+[8B:Y=?NC$6: ]RJ?,^=1@WU^&9X\93OF<_???V[QZ98PWO93;B2]S1X+;#HO[OGVE[S8[ =[EA=F=HC1^L$=P=F=:C M!7T'^NI:09Q3;K M!K/UJ&GK/=>*'M 2- ,;DF;>AB^]V3[XFLD[&=[33O*=>CL.YO].CL#$1DF+ MS:=?3T7;6^S+LLEKF8=IGE/=V#8+J8[-YQDD,I(PRYG J<@$Q<+!]SX"JA-Y M[1OX0/P2)2NT^IK^^!G8KI$/F@NY_U9'RN;0Z"&N@ZD-ZN_@X#C/U[<^(@8P M_',.Y;W#XY3$3;&J8 MH 7:/U?5%ZD1 #4&GF*"YTETB@L.+#M9;/ \:?WXH,'3CK$-M&<8RO#%$_ MUC^>'D0I[@1[6*X6J_M"*&N3=>D!>4"),OU@D$5(R7J"(8Y% B5F018P&<>) M47J ";"117T+W:)W\#G^#,NS;ZKMQ'D+&/0AZV0YES;*YUAAT4;9(TO;*)];8[HFRH;4[#11-GW'IZM279+EJGS449VF]VE]G?YKZR.] M8NOB16G..T(78INXGM$\#06-8);%5->?!A#KF[ ,$I;F.,\SAFWL&7^HC:P1 M?[ 'P9\7]9G_M$6O'<]+6I1\^"2=]N425^38W';W0&X\B]M+T@STT&V[-<] MAR3XHT9SG%H%_]P;U<_HA-@[<"]>PE SK^)%$.Q]%+UP^M7]_?I366IDKA[7 MIEG:)Q<86>?UX (%N*SC.$"!7RW%ZKG:"Q \ZBI6\_SMTUPY[[CQPA [M>23 M%U8>G+.T.CEP3J\ZF?_F+&%]]\WYAUTN=)M2C+TVQRA2$41(80 M!9&$1"(,PS!(<:A3QQ QO^%90A_[RK=:PKH^:"G6[8 S';5KDE:[9NNO@#\+ MG9?9_/IQQ0M9L#,3LCPPWN3J."([+>^2VT*K@S[K7Y8#&:]C3(\(W5=M$)K[".].[>:5T7<=#DGTBIDU K9=EU)E_!KI;\8[%X MUE.);GYL!M8$68AHJD=GT#B%2.A1M3Q3.IRDC"(2YDD:&NMP<[BC.^S68+&J M*GTW;>ZD%LK$@GL&BG@QIW]*G#Z^-6:^EV=W>Z8?X\B62$(HY@ MC#&"* X0I)*D,,-9+@0-X@@A[_,"^AB,K%W5!Y:-4Z^UY:%AM'-,SEA&0"T[ M_-==,6NU_MHO1D#K!A MDOK>KS-/NC8+K-;7\E:\B.6SF&NWN3D66Q!ZJ-?]LOA?P>=JC31 ,H0"XQBB($.0H"B#)!4R M#'E$B>YN<%G7S=/@1Q;"%EZEI+"#>'EWS0%FFDKJ6"RR%>7CG39[MG*+#;@] MSS\OW3;/LV'$GIL#P-^\\^9YQICTWS18Q:';%__[W:H^_G65A6F3K_Y+(VN! M9@Y\G;2A[GY]:_!?+%I[[5!YWNQU)M!.AD_3YJV4Y"0U;MV[=E::KFG7,0)V M>G4=?<#M"+XIQ9,RB=M&>MTTVF9$PX=F5/1=5Q "2KF^Q7ZA06Q8O.[&HSL0-"N! 1 MADF0<-VY.E(W8*4JXB27&1&YQ';WWE. QCYW6[#:^F[A6HZ$/,4@,WGW0;;E M:=Q1O 4Y0A? K$JFQ)NM;(N$MTD&6U- ML(^B8F51UW[/(Y2'*.?*^LFB%*JS7D)*(W7#3AGFE L2,FIWOMLA,/IAK] ! M32\G+=\["%F?\):\-3WNQ^.8G5K8!S^K#752=OEK/2-^U,;VKASQ9AU8@I_8 M5'!CSJ'=X+B.FV+Z#T$6ZH)/RNYL3-,@R7$F8$KB$**(!1!C]5.*)65A3/.$ M)C:*9Q_ R(JE !%;#2P:@C(R-*VF0VXA0L:P/9C$ _X,RQVOJBV$ST'@IW&(9ZB MZ**)B >+3CX4\119Q^8BGGS6703_WS,IU5>^>&V_,&50ARQ**,RQ'AD78!TJ M1A1&E/. XP3)S*CRLL?_O,,1>_"TAVE#YC:IV$[P0]%\G>_IJ3 MB]X)HHY)WJE'[02O4M_0=_(HKN4W\O=5V<60VG&"^A*;9X3I1/6XR5O'0NBX M<9:S7.1)G!O%C0>AC)VCT0*S'+TXS)AAL?-&KIW@F5-J+'!&E S9G&J!GKVI M_K45O.&U)Q$](_(ZX3-[^,*6?^V([R7OHKB%J+X)4CV7@E^K,U8'670IXI)_ M7RW+[I_UR,6Z;'@>HR0)29[ +(TH1#$AD 9Z: Q!41JG M[-CK@5:W7;$[RKB6V#3SB@<288 MA82F!*(L4>9"G,0P"$2<"YQG&%G%XXZ#F= JX$(6K+"<4'V".69'_.4DVPEF M!P]L*L[]1^F&:?)T(I\ ,NG!.TSH_OEZYFF'RLUEI>/NU8\7]J%:MY^=:=WF MD7?'SJO1EH0N4]RD"E3@ARA?"B: KA*R*-@\1OBPO/F@V4[2SI'K4?#.$>=6 MKGELP>F*-0?(V2G5''K.];"K#X,;4JY?ZT"?[C:Z6E:_O_;_4M=*D%S*B(<1 M3")!U0&84V6FQE(=@)&D@L=AFEEEPIF#'EE66W"@ANI4:=#)^@C MZY*FCY'S)#D[1HHPS ,149AG<0Q1A 3$"4$P1I+$4DH>!.E$N6/4ZIT) IV2^F2(?C:%VNGS#R1:/=M*JYF2#"MB9 MRUMCXT^U.S'!DW:W@SVI@G=BR[Z.=UO$_O[U8_W?-R6[+N^J\E.U+A[K1.AO M8OVPXMM.\8;W,9.U1M;3/]8*!K@I]05E58*['[=@BPIH<#&_HQDQY_R=S3=? M['2$"4O 'UX+&FR)=KK;&0&8[*YG0V[_[F?UGN,HCW8,Q::#2?59H?[IEQ*O M)5ETR3!U@'>UO/]:O"BM4X=\F\0'0J5D*$Y@4(\CBT,,\SA#,)4Q)DE.,IE; M.4@O0V=L_=$;V;'I3J)W&G0(;AIQ- 74&D=8(]D6"KOEJ5RX1V9&RW248,&"P$0);I<J=.!SYBZM_N%HKBU!=,&KS\*_+8EW= M_OAK&X;(6!C'5#"82.W)46<^S#/$(>>2IH+0,$V,OG8C:*-[@3O8H*HMX6<- MW=8//,0M4]>O)Q[8>GLWY#<7@1HP^$V!KOXR2MS4@$QO'MXA6!,[=0W(/O3C MFKSD)N"_/U?%4E35A]4C+9:D*?/JNHE]X6*Y+F2AS\8VNY/]SW-1JD-S)\M3 M_>WY4?";6#-#2,0/;S:YIF=5/?CJ[V]9J=5+N>U+/T^ \J9J?=!OV MCXMI@3L4(Z[*]<.5NH85C'3CK1$E*"48AIGZ/Q1S94C&)(=!S)-,A#0DQ.A\ M.+[\R(J\!@A:B!:EAX=L&-:PEQ-GIPIWZ/)H @[3<4FIX>&BT]48GB1HI[CP M]%-NYMOA!*S:1'Q8+=0:E9;6]>OM:K'XO"KU'-(Y2G+.*8UAG$K=S@IA2"G/ M8)SG.(B#( TBJQN;)?R1)?'8#+=B"?HH_5_0( 7^T&B!%B]++ZPMU\TLIQ%Y M:2?X([#1VI!Q9(8GD\06^J3&A2-K]LT$UV7L8\>??@GVO"Y>Q >R%O>K\M6F MP_31ET?6(QN8H -JT6'Z.+7GH[\7$VHGY(NTT/4B-4QSW^(J3!6X'">I' M:H7S0>&]N_>^OVT?:@4GUU/%&AK\LJW59]Q.IZE*WNP>RO*Y;UE7_ MKI985U^639N[S?]W \P_$Z8V>$[3, X9%S!,U?^A0(:0I"R'4802S(GZL\B, MIUJ^,3$C*XX:TPK<:U3TM;]MK/FT10/(&@_]*Z8G)][;#--\ZR]A6(F]!Q1' M##YKK"'5:.]-HMK2!N@KZ#_7T@=J F>=R=2CL2TPUE2"ELP9: C5PX<;(F?M M?T&/6M"0^R?Z=BR&E?Z)OB&W":A_KF_);MKJ.]F\P1&N;XWC='-AWYK2/?OH M7>'D,"*G/MX_+%:5N%M]6SX5'XN*?5ERW3/*>&+.P!IC.RH5"(M).4/$GK_. M^*+3[I1N#; :K/99W!6/0D_4^?;]Y@O0&*@_/*OW9THE\N*EX,]D 0;Y8C=? MQX!HMW$[0PM/-WW'@+R=83PFSSLFJY*%J-H%HTI MS!&2D- X9A'*<11;3<$["F7LU%(-TS(K]"@SS+R.%Y-H)Z#=)+K?Q9(]/)+R MOT?(+1DDR5>JY5$8TV90#I%YD!@Y^+"C#+H>Y.UQ_7E52E&LM3[NSNQY'B8X MRQ"&B$4U1RX_'5 MEXH< <-I%>QX+#Y0SR."MGW)=ADRK/X\D&D9S[&BT*'WV%$Z+F@Y MMKO>Q)W&CA)SV&#L^&-NUI*^BEXM^3>U6EF01=4-]FVM=8HBS!G+8"AQ!E&: M$(C5M04*DLHXP#'AF557A&%P(XN;!@[)DL/'%KR=M7*&56:&AS\&V GBAO8- M9+"9T.W_KF-&I:<3_0RP20]G,\+WSUG#M]PDO.DDVO0D[*52UJ5EVSKP, C# M-,J4>&.60T32!%(:(XACD>^6:G)MK6PBU'^DGC38WJ.*,#K8CVI#7,8$ZJ/*S8L*]#[%YVK;NK M/36W0D^>*);WO2C&-5T4]TT4-U MG@7EWJKV3&!.7+UGP8;#*CZ;EYW3P5>/0K=!KIT&7U?-P-)VI!$E6.8A3J$4 M,H!(:0D]RSB -*$RIAG#.8HMD[]/0QM93;1=^#? 00?=<@B4&>?,](,W?E@Z M+3<\4-97RY<.MN[EM:C5@[^)45;D^DO('H U=?KU>;*/)%L;O.0F]%_%>JU[ M?GTH!2^Z.W(<)ERD,H:!D.J6$9$<4A9*F%$4)3+(N&16TTV. 1E9Q!N0^J-N M@-H)]%&NF,GQI;3:B>\^F2,X"88(\B2@1T%,*I=#1.Z+X^"S]GE!'U8_Q$+H M OUVWI%-0M#1ET<6K7IN_?(5=)!!"WHX%<:0[F$A\T*RG82Y46N5^#-(D5/& MS_$5)TOU&22HG^,S_. I6>IS_:OZZ=_^H?N-^C^=\/IO__#_ 5!+ P04 M" 9A*)88ZBXWS6/ "LS 8 %0 &=D>6XM,C R-# S,S%?<')E+GAM;.R] M67=;R7(F^MZ_HNZYKS=<.0]>=O=2:3C6:I6DEE1V]WW!RB%2@@\(R "H$OWK M.Q(D.)/"D)L[=;J]CEDD1.X=PY>1$9DQ_--_^WXR^^4;+E?3Q?R?_\+_@?WE M%YRG19[./__S7_[X] K<7_[;?_TO_^6?_A^ __G;AS>_O%BDTQ. /S7S9\]7WP]6TX_?UG_(IA0 MVU_;_NOR'YU)*F6; (5%4%(:<$D+\"F&I&V,*=C_[_,_:J<%"JW!%%M >>DA MZBC!\8C!)@.E^MPSS5%ZRF_[C:?/AFD<)Z(_4?TO7+@[]1?X+MKT']"+@ MR?_A^RK_Y;_^EU]^.1?'5G7Y98_ODO]0^AZI3)\Q?^OU=__.O5N[\N M<46 V?#ZACZX>$9]V_YTX/\[9]PVR1;OS2K$IVL=S^Y2Q$G&T^G62< M3C9/?A97ZV5(ZPE+L2AE'1"$!,$J2/":$PZ5%;'DG(H1-]FN)*^(YHTB5IC^ MX?/BVZ_TX%^K*.HW&YELY''G=>=R.8SN[_G59+DY:Z&J]:""Y<[40N7_YA;@NN%QB?G.NE0>9VW"V)H.*F]]L MH?'_<1J6],39V0?\NEBN)SQJAHPG*)(S4$YH<*44$"8:;073P>HFRK_UXIUP M(/K'P3'R[ 02[W$Y7>27\_R"-N&)8L%$B8[$8!PH9A!\H.]T1!]=2$%C&VMP MX[4[P4'V#X?#9=D)&#XMPWPUK8*_ +3UCC&M,Q%M RA3!-!?>K D*IF1B6AY MF]WAUIMW@H3J'Q)'271D5+R@T(BVQ64 MD&(NA2L6G3INN[C]QIU0H/M%P5$2[$+['_#SM IAOGX;3G BA;$H:4=+W&90 MFE/8Y N"-0*#((NA,*3.\H.$*272#A-07S2S)A&\%_)/GC\\7I M?+T\>[[(. F$8&8HV):6G![%HX60,8"U64095>3LN(UB!R)VPHGM'2?MY-P% M;#Z%[Z\SB6]:IN>G%!>64--NEYA#X#I1]!0%@N/,T6;HM67H=)"MEV Y%G.I(+5Q7_>3.?()YYI$7*DK=*P""IS#4$Y"3IQHR++ELO2 M "#WO'HGP7&L3#L%AIB0^Z2Y"09RYH:";'*?G$L)/)E$9Z.Q6<=!@"%V M.[YB/Q\R]A-J3\AX3M^^6WY:_#F?6!,5;8\%K"OD42DN(#HR?5F'H"P&J5Q# M@W'UXMU0T?&I9@N!]H2)C=/T;OE^N?@VG2><%'*0- L!N P>%"L1(B=FR-ZA M0E&"2 T-QJVW[X:.CL\ZFXFV)XB\7ZS68?;_3[]NG.J<9)$F6S#>.U"&4U3. ML("QWFJ/3B6/[0!RX]V[P:/CL\]&8AT9'-7J/5MBV- =K=7",@5<27*?'<58 MCCZ@[UR6,N2DCCSFNOZVW0#0\4GGP:(;6>7UUGSV_LMBOCV;R^@+2J= 9RL) MK@1<9[T"M(X[2:Q8<]S=Q^TW[J;ZCH\WCQ+AR.K_B.ET2=#E(GZ:KF3@21/&&9%,P,GN4^F^_<3?U=WRN>90(1U;_IV6HF4D?ST[B M8C8IA0)BSSD4Y1+QS0+X>FH2T><2HA)X98$/TOV-U^VF^(X/*@\77B>+_N7W M]"7,/^/F))Z)$*1/!G1TQ'L*$4*)&612413+&&&ZR<*__M;=,-#Q">31HNPB M''A^NJSB.K^;K9 F'9RN)LJ24)@1H U]41(-.(4*2O"./K?2B^-<@OALT MNC]_;"#:+B#R>DY/(W%,O^&+L X7;$UXSB25%$"S0JX.\"^?AS5^7BS/)HGDD;,TP$VAR$>Y %'0?BA9 MXD5Z)[DP#9!QXZ6[ :+[,\C#!=D%#CZ>A-GLM]/5=(ZKU01M$%&9""@T!Z6C M!N]I6TS)^V!9< R/"RCN>>EN..C^M/%P07:!@Y+TZ^ MAOG9Q N&R7 -1M;@6,@(KJ9]<,FY2D;[R%(#/-S[\MUPT?TQX_&"[0(?'[_@ M;+:E7@O%N704+\>@:+>3"IPK 8)2FC%4 95L82:NO7,W-'1\YGBD&+L 1%^ M4A-\%NEO'[^0W%;O3M>UMJ=&UA/-F=7*,3)T@H'*UH O*,#H$D40PN;8(L_N M,1IV TG'IY.-Q3SV#<6Y<_QJNDIA]K\P++=IYD4KE%R3>)@GH42K(4A9@'FC M2BYHQ)'I$ ^]>3> ='Q^V42D(\/BV0G._#*B((N6'ED-M2#K]ZMS*_C4\LV0FV&C'_Z]8X@W] 'AQ3K M__'VV1\O7G]Z^>+YN[_;FV=OG+S_^R\N7GS[> M9&.WN+)N)#2Y\?VZA)6<8..BY>>+T6G7)I<_&.N\EN50^@;(IDR-M&!"D):T+0DAXK"KH$"YO4C!. MPX'!D+ U1@W$/>+^=)/ZBRCLD@GM0@DQ,;"AUM#7U$%GE -D(N04I$XN#(*9 M6X2,"YUC-'LO2(X11Y67Y[-<_W/R_\XG7X+,V)F]6S]/"R79]/YYW\- MLU.<>%0AV!JS9]I\E3 <0HR65E6QBJ%FR3R6R'L(=G8BK 2*6G(:@73+%6B=U'@8NCY$U3B.7P5'43!,=@.LF\9B"UD46B*DZ<-YE M<%DZ8+3S8I04L^9!H[!Q>KX,Z. <+-W#H;%8AUDCN[/XBLOUV?M9('',<_7Y MO]9S#7+2)L4E)R(CJ3A%4HG<@DM*@+5<2D[\N$=;QAUFT.,4C=-39C@P-91_!VCZZV*1_Z3@<1),ME$X M#R8)61NXUIZ^EGZTPMI4(A>/YN@>@IOMNT=J+C,<1 X2:@=@>''QVMJ([00I M4+R"-6>6)ZLR**N)DZ3(I6?, 9="Z8)%H6WM%3],S4A]9X8#3"/!=P"A:]'@ MV\4\77C]2@=/^N60='2@D&F(1#T$(R3'''/DK4]R[B5DI)8T WHV1XN[ \R< MTS\A5XM'AA*BR(:HU@J\9QR\2(Q%0X+1CV5^'QYXC]2)9NB0>R^!=A!KOYF& M.)U-UU-<4;2WR5O_LIB1\%4-N"BXCQ)DH;!O4_42C4! DY0)1@VM[LO@]G]4IN>P):B-)LG083G*DW+PQBL!0E M,FDL&763L/DV=R\EW8#I*#T_<)U^A- [@,[+DZ^SQ1GB!YS5 6%W93712DJ5 MI8?@SF,#<@^58R T-51"!Y"Z6!LW M?IRP<;,\AC57 M#572 <[NV\!1LRP2!R\C)PZ2 ^^# &<<\XPYR?-C=6%M0KQQTSX&0M"1PN[@ M4.K.R?PUEC;7?$$/N9@8I&=&/]JFO:%#M>==RE-XZ,/A MK*UB.D#:]7W;%Z=M\1%J$RE0FDB/)B@0NJ@D6>#"ML;4O@[34WCD3W*2N9>P M.]CU:NN@Z?ID4]HTS\\7\[H(<)XJ*]9KC=$9P%H]KC#5>3G$61($>F*Q,/=8 MIY6#*LT>)J<;QWLX'+521@?VYQ$)6>,C)X,)V;)ZWQGJM90V0-NX2IPIQ6W[ MLO"CKO&>PAD?#E6-5-$!J*[U.3NOO@PE"*\*Q2DL!C*VV@-Y?PYRIO#"<\UE M>:ROX*$6ZCH-8U??M]'M/8;H8$%W )1G.6^NPL/L?9A2\/ \?)W2CCGAT:CB M,X/ K 5= "?I "M*1@M#H-BS6_D[B=E[/2!06#30NP=H.<#KL-TCOEE6,YI M UX]2^GTY'1S*43QZ#1-UY.D.9I-*5VL4T!02?!>Y9J&E;.G_\/FKM&/J1HW M3AL(4XV5T0&\KG&P.6*MW5V7^ 7GJ^DW/#_H>+-8U>.-=^53^#Z)020;.*\C MQC+4>CN(M<4 R30Y$;0TS?VE/4D<-\0;RI@-J*8.4'A7:A,K(HJ$1+SC&I3E M"-$2+Q2U6L1(@89H75!REXIQP[R!L'2DL#LX)_A1I#)1JG"RLQ:*\K5O(,DH M8"D0ZR5 S$D[U;JJY$X3+I^SKQRRSA1D%KN:8JUI0Z5 HVNZX#P0KBA0?FQW:;5^_V6SQ M)ST:7RV6+Q:G<5U.9W=[]FQO-T6VBDN6012DB%@R!)^+!^(^!29D(@&U]LKV M(7#L"Y+8 F*_K)"]<\N7@'LL8^UA@8=:T5TQ?6SF='/#M=?UDLI_^)>2*X*L75 M@1&QD'?B:D@C2X;"C0I"F\"PM4_W"#D_@3O7"%M'*:)'3+U>K4Z)#6,U>DDQ MDPE(,0^C+]%:6P=ID\!T9#$,>%Q_G92Q3RR>&DL'**!''-V8:Y-()@$C;>)H M06$D27&7(15FN50HG'YL!&$3,.T[2FC O/OX\=E;^N??WW]X^2_TJZ__]67]K'W(N=-;!PX^]^>\41AZ?KQZ">I+ M!&<5'',V0:8=$90I"KPA&%NCC1!6%^Y:;R /D'+\'=,WG)_B*UK)-<^C/O+? MINLOST]7:WK=\N7W-#NM:ZL6>-/_:B_'BBO ^F$*N M0&E_Z;0WF>,&GBV0<_<*:EA==;'3KFCKN&!THDJD"(8QP)@H7 [(P!S7)H7B4O+;^3%D( M4-*3HQF"(VX8#RQGH47KC>I!8L:-](: 3!NY=V!7/I NB( Z9>$%6<;98M/S M\X*KB=UC^#:\):Y*=-,;' L+6T3*8"P1/:RZ7;*R/RF;;^K#\86K&]6Z& M 5(CV7> HK_BG 0T(TZ>Y9/I?%J%LYY^PRT[9)QM0.%)X\F3[\80'-H"4J#T M10@18VO?^ L4#8.GEEKH %1WA#01(1NGR)BRI"THIS2$8B1HEWRP1?#< M/,2Z0\2XKM$PP#E.TCUYU5.WR&"%0Z$BB02M9,<+:P;IL M7)$Q[@GWH)[T@;+N 2XU-?7M8KZXR/66PT"HG8:Z&"GNEH)V^/.Z?R4F+I8*HOYZCZVST\CL) MD30WG8?EV6N2[*9!;3TH76R/RW.$\4GQ(&P4EB0 M/)&IE2F!JT7DHDYM,Y*BG^9G%4_*X,CC1 ;S)KL$2 >F]1ZY7);?H463C&) MX5MM7I8=."(? D=IG8K&A=;%:X^0,_+1 MI*U\9/)2BP\00X[ >'%1&F2^>5''0[2,/,!D" 0U$7L'9N@V'[^%U31-D$RF M,QU2^S+M>PD9]YZRC8Y_ )S]!=XA:EY,9Z=KS!3> M*!X-Q<.H$J/P1MIZ/NV .U\8XS(BMCZB>X"4<2\FGP0YAPB] ^S\&]9)EIB? M?<-E^(QO3T\B+M^5.YG8FX5Q*3@7B2_&+ ' D>"T*>#0$[NT6Q>TV:CF'4L/ M(G3DJ4Q#;'7#*^QG0^5$QYBLHH66=*UA4L@IUN#D*"I:UQH%-Z9U/L]>!(Z[ M;SX!8(Z!Z%[:ZQ>:%^;_;@6+5>B,J6Z$9@Y41H2(OAXY>IYI_^$IM.XVOR>) MXV[.W<"SB09[KT&Z6X#S[M7'3^^>__=_>??FQ?_I?-[G9O^9H MQ[[?)C13"YEFQ$=MZ6)YA00& ,2L;,;&IM"'8B[/AV3Q4G]N43JT=]BOFE+_'VZFC@AR7R; "8H0\+)"2C@EA1X)U=XT<:GUJ=DCQ+4 M"98.T/1#H#E:[!U@Z!8/+Q8G83J?")0VAA0I\%8%:,^FL#[9"$YX)EFVAI?6 MF=CW$M()9HY7].T#CZ.EW@%TKA6;_X[5[YN(P+UV&L%ER2D6YQI"%@J2"S;6 M(1\BMAY8=X>(D0]6CU?LPR7]!TBY Y@\T&[X@AGEHY I(-0.Z105D)"\M#65 M6,@@=!*Y^23Z1PD:^72U.7S:2;\#*-WN,GS!!3E_16L=P!I9&UL8"='5DMVL MC$0ALI6MS^;OIV3<&H_VX&D@[PY0LT.+X O&'&,ELX2@:^F3LH*V=)DL%%F4 M-BDC;UZ MC-QXY:!#&"8!M%*!W"[]!K?T-+9)-M.?-!1L5P#TSJRSVL&COM4 MAX.H*#(&&5L/-+Q+12=-_QK&7X<)N .($+R7=8+9"SS_[^OYW?.-#XO9[-5B M^6=8Y@F7G*5D71UAS<[G>D07+01G4]*:12];A_)[DMA)H'8@(NZF. ^FG@[0 M=_=47BA4W-4 EO%ZCE:'I:.)P"W)27OE;6Y^SGC0SDX M#72#I)NU CJD%!S%I-%E")D2-82K"N-8CVK\48,LWER?!SN-P[ MV,6N4NA7GQ8/G')L+&TD*>8:75!HL5'C!R0IKJ9K_(C+;]-4>T(3G#]@6GR> M;YYR/DPMI>*"413E^AKEEJ @BB)J!II&8TV0MO6IPM \C=YEZR'TV"_&-VLM_L9%#KJ6G<*V0:29W*1&"P. M4-8NV;1I<=^\8=2^1([>2F%LA#;27P< _8"K]7*::F+;[9[MFQJK\P](E)_" M]]IZMDJY'IM/L&2K=?* .1.?(29P* T@U]IFA3PV'VAZ**VC]TMX,K@^B3;[ M0^WY0VTVKQ5(1N)4D6OP*7M(*$-&E4MPK9N '$+GZ.T5QD)K>RT> MC-1ON(R+5AW8GK2NFA6;=.8*M#"B^O"DF4P^//,I6!4#2MVZ%K"_POLANTH\ MV>KH%S<=; #WG#SB,>=Z_ MCPJ: NGIY_J\>_7\V<=_>?7FW;\-.:F[/@YRUKZEY'E9?7LT6?UZU M<8W&Z9 "A]JJEQ D$M &EB!ZZX-$ET,8+#?E'GH:W"759[Y?+KY-27*_G?VQ MPOQZ?ME#]!GM_M_.IS%?5J[G8)GR""BC!B4PD5D. 7QTECECK'"MS=C^5':2 M8'$L@NZY@AI271UX7S'2A?:IMC)R$PM,77>J7FETK[7VX. M!J.AM?WH_>8^HN\B&+YQAU4OH.9I.L,;3'U:["M/B\QQA@9,;6^K(K<0A3>T M;(MTLA23FYO[(?@8-\GCB7$\.A Z,*,OD-ZQ92HM3TL D)(TV9PE%2Q)<_1*]RD9-].M._@U4%<'H-M.I4DDN9L#:7A2G)G(P$I; M!QQI#H[3CSESSVN*:0RM9Z@_2,RX*6S=0:^-TO9'GS]'WQP_UZ+93P-6(UY* M[B)3^E)L)C"31?%@9)U]''T!;PL"#\;G$H,2OG7&Q.[4C>LO/O&9T$!*Z\ F MWN5LZ^72XL?IMTW]L#):<2DB9"X#J*1(:L)X"#8+JY''Q%JW#=F%KMZ*&-M@ MXH?0.U)!QYK"@6!71VM58=64NN>T!9&A7V[. 2:S8):31)S M5D:;(&E5QV6:.FX^2I!")@KZ-0FR=4'#893V5O'XM*!LI\1.P;IU/-Z'LXW7 MD0HML]I1)GM;"XHX R=B!B:*L6A98:;U"?8/B>JM1/&)?<)#5--E%/+RY.ML M<8;X 3=-J]Y,0YS.-@'=1 855*I=%P(J"N2T!Y^4)4$BT[QHR?+P_7D>IJ^W M$L0G0F CA74)QIOWE%O6SB:1UI+BY.5&Q%J;I@0X)Q%,LC&'()DJ PQOWHVX MWDH+GPB&+535)0;)PB]/\=SSW5IY;G3)REN*\Y.H%;T(,=6;'V=9U%+YF%JG MXNQ$6&^%@D^W"1^EHIYQ=\V>;QW;JZ5VS=9;;X0F#P-"JLVU;.W4$:6!+$7A MAGOA;>N;E&-I[JUP[VG1.H1B.P#R[A<$D\R)=*\U%&EJ9,8T>!$$E(Q>ISIE MS[4>";<[=>.&U$^?0CZ$TCJ8KOL 9Z_GWW#U@" QVV@V1>2J"A(5;1HR*C 8 M52Q,NQB?"):/4-E)F]LG*I1II:X.["/Y)]M^7>D_3J=+)%YIF:W/WL_"?$T[ M02UY_%I_91*%E;9$"Z6$!(HIXC%$#V@4+3(="]K6\?;NU'598M,,)[>3$H=1 M6A?'C5O>7BV6Q%5"S*M7).^-0W*//"]R2QRZJ9H:$YA/KZN27<7:@3%H+.O##(*F+M#:LWO($O29:B2F2Y]>'X M[M1UF;PS%#0'4EJ_7N6KZ3S,T_V"%(GEI*, ZW)-7:]-VH- R,)[8[@Q*%I? M9.]/Y;CP?&JOLI6Z>O JKYG^^YL0!DM2DA*A9B6!2IY,/I.TS#S:A#XQHUL? MF?^0J"Y]R&:HN%O8TE!%/6#NPO.XN'CZM+C9EXTRUZTP:&,RX)2M27-, M@O/.U ,NQKCRV?OF4#R0UBY=R<$0^A0*[=ZGO$>ZDZ0\JX>\-BGB1!0N">'*Q$ M7I;2F&G'*AQL\=XZE2Q+K:LRFQFWE8Q[&LN?71:PYZFB+FDYEVMA\?M8&F!G>)V'R7VTB#X].O7V4:48;85Y>MY62Q/SI6Y M%:IT:)$S 5B+ I4IM"2E,A"9HH4:9?&Q^9# W4@;-TEP,"0.H9@.7.1KC4?J M6*])B3*6$A&*0")?D)OB9/8@9Y=7IR$I9GB[*:?IY/RS0%>LMY-0NYQ5\7LVFJ MATLWV-JM!_4QKSNZ&74S7AMUI7YV^9KW%Z^YNEN-SG R;:!#<*!%E^#O.+KG'/2>KT^+SMAOC^FB;?E8NSNC"[W I6+Z:K M-%NL2''TVQ^O='27W$^DEM_HO7^;\"QD.AC:%X# M\M0\CMQCLPUR[_25Z1DH/5KO3KXXB02 ;4/536?*JW=?0I$\0I8$)Q]1*PE**0ZTN0OR&[%(*923J75>Q7X4 M'FM8[WG;U2JX0GGRP3FF%:'<:7*=DP,7M A0Z'/K>>RM3GIH@[(3 MC8W,RX/U U3WG#XEJD*5X_PONVR<= MT-3)'?UTL\I_3V8QT??7*\_Y)UR+N+;2TYPI1 M:@C.VYKN5\!9'B'2YU8):YAI?;6Q%X'''[D_](8KU!MKE M"0[2*9. 922/) M!-X'S,ZC+MPVEL$.9(UKE(9#T=T#^K8:ZM$N7;0)P/.F9O44>U%KNM)FR.]Z M=JV-PD%G0KL^O,&!T4%\M'*TSMN!U!8+&T+"[%H>JA7*BJ# !N2$$ KVG3,9 M@@RBT*,<-C]_?X2HW>Q$]G"7B6L?7:V;\]G1ZZOEDZ5@@6.&+)@D_\'6 M.E;KP&JF[9,APJ=Y+6=?ZD#'K4CG]YGT"B-B=H4%EJ?==]/R?&#<>*]L02/Q:A0 M!" + 90U!$=?2TJ"0*-IVPZI]=S0!T@9UWHTT/_=03;'B[Q'"_ !O^'\]# O MZ/)OC[8$]U/1R!I!1%A0@O:<4#R%T5%" M885G:ZUSKG4)V4T*CK4=;W"U0KS9GO3:S4KTEA-[%IBWIAX31(BA7J]8SFT, MNB31GK_'*!K73ARA_=OFH*'@>S0"YTFBZ\U,B(/.BZ_^O,$Y\0.T-+()EPFQ M]SBE%$*JA,F 0')%E:@#YYV2P(5A3CJ5;6A]&OP(._SE7,JM7T71NO!R2%EJ84&+BS4]#CJ+XZ%.37=_^V_6W7[L1\8I9B[0@I5;D M=AOR[851D$Q)7FH6 V^=(G@DR2.?PCP=/N^><91]O&QZEJ9!6W+WF/Y^UVKHKC1"[6B0R)5YT*E\%Y+2!:Z60HQ4K6 MNAWL0[0ODUG.O@*NUTMYX 9H+28LF"7!!2O"BY!*BU-B\1<.#Q(QK?9K@ MX$[/D2:"[]%B?,3/FZ+ >?Z,B\_+\/7+-$VOZ@(/ M^0&_+I:;)IR7"6,R9BXP0O!%U#EI2*$^%DB,.^8,#UJT-B\/T7)TC?:MY]X7 M28C (NW&-8660*\\M\0X)">X!A3&@E+(P,58 MP*BDR]TUL?9,7N/.-X M?^E1JEHY2)?GM1CSOHE#:R 2H2IUZ; QXB0)*JI9#Q(S=J.1!CBXVZ2FA>![ MM!A']-W8ENP?8F1:O';,GB/W\SY\[Q$;./GT.H)!5WL<&@;1, 58C.5!,,YL M:V/6OO=(U<+D7/CORK;\>O/PL_.OUZJ4#-,6L?;LX8Z6%WD!WM=A:3%R*3(: M6GT_PMKNK^NV<<<^:M_:KH&DW$%OK=_":KIZ5V[)ZPY7T4NF\V;D73UP\R:" MSTC.HW&(Q2G4S5-$=J-LW.[TC6$VH%(Z@-J-3C=WEDT,G"("6B>J1@NN-IR5 M+H,67$0?="JF=>+F8_2,VU!^(%@U4T!O8/K7L)S64I#7%!61JM8O27;KB^4R MD48EBG-U[4-0X]#:,D#5] G43@CKN6^>G+,S<>.V=7\*F#5330>8^V-%N__+ MU7IZ$M:XFI186&2L0%8L@9*U Y@VQ$(RF1GIHFZ>2W"3@G%;G0^$GB.$W %$ M/BU#QFW]V;90[0,FG'ZKJV"+>Y\+JIR Z8I[EBRX0)PY5B2W!0MOCIR="!NW ML?A @&JOD@YP=O\4HO-Q6IO:\T0"GW[#VK[B(E"9U'G8NK;9BE*2NZB% 1<+ MK2QF6)2<;'][M3^:X3<('PN#0ZNH D>^7T\7R?- $+:Y96*TV!SX;#O._ MGZXV%P>M4^\/HS&5G&HW0AZ\ 846P67R0FLIELDE*FU; M%\SM2^-.0/0_&1 '552/]P.7_>U^Q[!I;A?F^5JKNV/N '9]=).6DWOS\!0- M*1%UCD$XL$A[IF*,@<\IU0()GZ*UD>?6/O60#2G/)T37Q7![%?@2 S?&@,RU MPZ)(DB(B3,"S)$\ANZ":3]5XD)B.&U'N@X>[]3_G*RN)K]QSF@*37#67+PK@Z$<=%A[76!NG42PD"7DQ_3%\RG M,WQ7;KN;YZ*]6ES2:!22>TFYC_IO M7%(.(^T>3=GU+OR'VZ9[GM)T/L" UF//ONY,)2MDM$#^>IT%G#VXR,B/CH%E M[KARX@FZXP\X)> &]!=DT?\3\^M<#U;*%,_?NMJ\EL!+9%QO&+:BK0#SK052 M+$45G-8&3T6"2JC H^# JQ\1K"C8?$9[8Q9^JKD#^^#SSOG:B*KOX,CCBOU7 MT_ETC6^FW_!._]%+_E?OPW)]E<9R33W70^U44G )=,BT_UC+:U9!E4+$G&AK M2J[UX5QS)L9-#1D%_6.HOT??X'(PQN&.P>U'M!O6,:!+\&A$G K/"F,=S5#; M11"HP"$O4+T]G[/7V:>?Z(3D\MD7^+YAUB].I_*[.6T(I\MEK>2:Y[>+^7+[ MXR;'ZI;99\[*4J0"6HJ"O&Y:A,$X^DXS6SPZ[L-@9TC-N.CX3&8?!#XX'&0< M=?=HY1Z8UG&XS7O\@4--%QG0'OYX1H0M(FODM-/E0%&PE)LQ?@8BIARY=$&H MUD9QO!DCU]H/8E(RB0(BA;K!1]K@2Q5 \2EQVN U>S*V.[%<;;&R\SR1PW32 MHSFZ9U+'X:;HX8<-,5%D0!.TWT0(89TRG'G:$F.D'=*(VC 'P09>:M5DPMRZ M]O=)YXKL%*KA:T4%!@O.T=I#DE3A-AN16M_/'T#FSS1W9!^4 M'11L'J'!CHY3%H^Q^.JTWB@].ZD='\53S>#9\APY)&) M*-(:KIVSM?EO'='--<22' CE+0].3)[44GM1>&L=:GS#L1UN_":X1(U&-"]Y?Z+Q&.0.A,^? ME_CY/+.^7+SV=LX#YZB+#E 4JQ6S@8'3O@Z@LNBT\R*9UN'53H3]'(,Q]D'/ M/=U<&^NGHT!A53O4;FHXEEOVIJN__796O[XBR2VN#?ZHF8BI9 =268J% D5% M7G,)MG!EM-)BN&AV#S+'=?N? I!#ZZ['O?%B_L3!.^.-OV\TP&7 7?'V((]D ME$ G(&HD[1FK:D,R0[@)BF6.7.C>Q[C0TVK?Z]M6,WH14IV$IEBXJ!031D-. MW'@CD^*\]%%WL$'=-W]FZ_J?_5YSHNF_MP_K9"C) M"P:)Y5Q'=RC(U97$2T++X@SQ M(RZ_31/>7W;];+9YY$48LDT7/:^(W5!ZK2FS$]PG#" $DH/)9&TQOZDXC IY M,C[;UB/N!V/FIQXDL@^F'[ZQ&A,>'7@#5X*XG_.-H3MO2K!ZEM;3;W=W'BN\ ME9'\'XY9UB[EI ?G/!"[07+Z!QM;M^DZGNIQ?84ND/\D"O\)(/X!2:S31'+? M\/['?$JB_C,L\P/L)XN61507(T$4)O#)6F Q!JTK!V:X&I F+(S;R:YC\ \) MA1Y6PKU,TS:VF:TRO]C]SCG^8U/OC ]Q[K-GAJ<$(? ZJ]B:.A*'@=;,QI!3 MX;YU1-B.^G%;[(V)_W$ T&.\>7MHV>&1Y@-/:CY6;<#H\L&A6IIE'Y-Q0 S3 M!A\(9QY5@>RD9YR;+)5LO,R'&JYVS>6_]89:!Y">U9XEL]/UG;H_SKUR/GK M4&B]2?+EH\@L<W7R=?3]<7P>C#@^N2RI)\$TGHXC5G(QBRU,R# M+24PAC$+U;RS7W,NQHW2!D;T**KN<2O^P;R_(\Z =WKPT/,*!]RW'YQ,QZ+S M/FL%L=A<.W<'B+YHB,HH[;*0QK?.'!QJ:N&UB_^7)+7E/,RVE_ZKW\[^>BGQ M9TL,MQ/7O.#,UJNYF)BEA8J2!!($)!=ME8$SHG5BQ1'D=CKE^(^XT\ADL"1&1N$<*.M)OE8;R!IU'2SKL'G+MOTH''?O M'02- ZJHQWWUB 9G]<+CSWH@\ +783I[ZA9O=UX_9K.WQV4Q?-LWF43"B XL M\U@S"1""DW4H1Q'DX45O4^L$U?9MWRZ?O!7FJ\7RQ>(TKLOI[&X#]HN,])IX M+FJ.)[BB H5Q%-!%3*ZV"<@DE614\^.'O0CLME?"$"A8#( M?39Y-FAY&T[PQ>(D3.>3I%WM M%UY 6UY[1!'[L0Y,=ZBYE_6&H?W1^@!\C&PX#X?53I?:3ZCC#G!^7^+*AX]_ M_(XG$9<375A@R25P3)%T3>;@M$#(7'C/2^+DFS4_!GV$H)'-ZNAXN7-(VDIY M'2#Q3C+)!1MH&"M..)"F4)RH4J"(E/PB5-EFK4J,HO56_@ I(Q]L]H:^%@KK M '<_E.M#8J4@&%^O\60U22)ID9*M@R3KN-OL(.2(8-!G:6WM\>E__(=4C MH[D+%_6)=?\SHWWSY0.>-YO>%CV<%S+P272Z2$TAJHVHR8Q4'01DD%41I);B M FMMHP=AI'/_HC$:6RV&9M#X.SOFW0Q'_+J1P_+V_)1Q#GMWH6C,(]^])3;\ MP6\TQ03& U@T]=J89=I>7 ;IC"@A&^2B=@VKY7KRD52P,?]7.0]A MMCE[*08Q.Z4@&UG;ICA-CGXTD+24*3$7O-G)[:6W7,,,_72%ET<)&+O1T=&* M7;26\MA0.<^]N<["19P9>6$Q%PZR9%]CPIKX&CF8D'64UJ3D=G(0?P25AP@8 M!RH-%;MH+>61H?)VL5Q_>79"6WT*%^<&,BCCN"S@A5,U]9Y6#?D\(%G)UCA% MLMFI//('&+G[YA'!T4:5BV9R'1D5+T]K9_L+NBE6<-YD!4RI.L7(>_ .!4B1 MA$B^)"MWNEO^ 1ZNOW.<,Y%AD'"P+$?$P&;JY*:UZ)4@/N#GZOZ_7:Q?S_/T MVS2?AMGL[*(6$O,%@\(7R3*QQ2)/];";C>"3 A\>E9EN56KML#XSX/>?LX M9='M8?,TXA_9QM1+DXLM>;,-.R.3%N2QN9*)=*8Y1(EJ=G9>07!IX21W6>90: ?=6#@6 M(03O0)4DA2FA<#R;J#.Y7;UO3J.%Y%X:7@M.MZ M3INP-X9<;T4_(K/2)\.R;9V&_B QX_9N:;?CM)5Z%_!YM$'Q>5UOK61:K6I[ MQ_PI?)\DBN<<+3%0VA;RYXNEI4?.'CGS'&4)"6]/MQ^Z]_I]9/9U0'<@0!XN M3!Q$6SW>@5V?0?\V+.NMSK=C"KP>?5Z#X2R[4MOH]FC/ZKC91CU0IR%H9K'W2H!2) MRWD=(::8$KI)EJ%1B8LP#+YF$%'R@ MB*9HDIF-'H/QIGDI[@^)ZL.D':7Z'>!TN![&/@=_2^[)QZ]?L';L25_FB]GB M\Q17K^?I(DHFDH-.0@)'S>J9?H)H:Y(W!=XJ*E1$T4Y'WC]X47\X.4*GBX$$ M/#98?C]=GX;9[XLXG>$5!UDQ;^N=,MIZ?!*#A\#)-MEW7\5?A,TOS71SVG%^)JO;I8G7FB2@JF#F\V,F#ETH'G MCJ2I9-*6"5U8Z^9:AU':WGU8I?S6VX8JPDR[EB MC%S.4 V[YQ -YW5*J192"!2W$TT>V"7W>6MWF^=QV!I6ZAW9NFM',,]I=YCF MBR3W3\LP7YU3QB<) [F'F8&S+A!OF5R%;&.MQ6"&&Q5B:)U1O0]]XUX%#6[7 MFJNH _AMN[E_6EPLH"VSN/KKV M>P(Y>5J M/3VI8UM>G=9RR;3:Z=/>_M^N?A&'"WF8?;Z MJB?]ZSGQ&&97Q9*OY[4[XPS7^"S_^^EJ?7)[Y5[SNB<^9Z>3UU PLMJK04- M;<':VI1;EJA,ZXO^I^%LIS7@?IHUT#$LQK;;;47RXH*#3^'[E:]&L0,+)AN* M2@N)PPH+7O,,0C,G43&=U6ZW-L/3NA/N_4^#^QXUW,'N\-?%(O\YGGR[3 ME[#"*XZO^%Q-0M;)1*; >>9 2:SUK"J $5S0;L@P8^L;FN:K'LKA.)FLA0F*K(0$ MN<$65PZBI.^X%1X]9T7:)S@%ZBF3U12>4@D&;!'D]BNC( 1)Z]FA]"7&:'CK M4]B_ZTS6?1!V=";K/LKK8%=^*(.NH,W"1^( -R8^4>)EH:'[$OA4&(=S<4<@C<9J\M:9'8I>1O^3\ADW4NG M^V2R[B/@L<%R?_)EB$PJ1 N8:DLP45$2$D'J&8)(@;)Z1^@OWHDIZ?+).UL7 7HS\X#](L!9^>_.6$I!:FU M!62X27-3$#F)&8N.*C,6N6S=&WPP9KK;/P_$VX]O.490_M_9*GA?NX\MUV=U MX,":?N,E_>[7>B0YT<9))94&HR/M/LD[]3Y0H+O 0R#TOI*CB$6HC-X@Y2BNC#DP.Y5L.ABC\8_]]P&1>-[P0GD1Z/1!Y8:SDH$1V$0BLW*>M]5(PKW3JW;OON MCA.,C\'80:+].S.*FRZ4;Q?S=,.?*H53*)P1,&N*?BD\@6!L@!)+LFB+IZ\= MF\=[F>HX2;D70WD\&,8^U&HIC9N_\GI^T7#JRFIDD8-7"9(4M6S=9I(+TQ 3 MBE3#>@P'IP\-173'^89\TR? M+$\QO_Q>9QJ1J\4E9];4HAPG"B@CR=6RDD-)+.ND'#/VZ=?' 8QTG'?=Q9H9 M&AO[KR-_OH[F^+FFEG_JTO&Z)U^1_G%"UB2:( .0UTD:M8638%P!Z5#Q+'AM MC=&QYW4_5QUG;??B>C6 P]_G.KDNC6R-QAJW,VVP=BGVX#E'\)A=5O1A$:VS MO@9BI>-\[EY6Q*&*/WH9'.U]'2F-K;-YKU3>XGJBA4Z810*TF[;==>1$2*+> M+=*_V*"D;CT%="!6>DX9'V$=--7\B.''(!=^8?7EXB;C6YAM4NYUT@HSUOFK MTH!*BC2$08.5.1?TM9[I"1K\-N1HM^7P?_C%[W$XZ+WTXNJN(MPH46A4;_&C MQS1*2]\1+ M4"Y@-@+1EQ_Y:7\/E15[Z72?RHI]!#PV6.XO!D@F:B&])+I3G5 4# 3/&)"T M4A%6U3KTO]_*BH.!<;PP.]B47DWGTS6^F7Z[GHQV'NS^=O9[^/?%\GD=H74^ MF,'9H*W54'(=FA7(\@9;"ACT(@@K3-:M-NC(-!97=('JVW#F"Y M'>[W 6<;U:V^3+^N+BQ^\3&@I$6,X7S.M@+'DX7"%&;M4$FUT[S@/2#X"#G= MPNUX&"R&T4D/\%J4( MF=4>=UXR"&A9G?+,E1+:A-NSIX[&TC$T(2!T#E&&>V)RCCW47P'^']X8_ICA>5T]F9:<**$ M"EC'8 KM4YU[R(D[I4 *RXLUBF?7NEY_%[JZ.UEN@\SF*NDQL^A5F"Z_U;$- MVYUK4>I'FTD.UQHLTS:K.C05X1/)18PJ.SD\:4B*-4I@NZ7DQ M7:798G5*C%ZFD\18T.50"(?D8"JL1RXA6I#16I&5/VV1?V M_X:0?\=07Y;?U3WC=+FL'9?GF1SOY?;'W\)JNCIWM:2@Q6B- ^8+[0A:U+MJ M+2%'7V1T26O=.IQN1OS(IXFM\';'Q(ZBW!ZV^RWCOYU=?OLO4UP245_.WN W MG&UN E3F5CB-($U-7D6C(2HIP45FF'56:=0B\[738$S(O MY+@YMKC+W_;2'G5RQ7(0UAE0EALR Z(6;;*D;$[9V];U5GL1V E.&R+D(1 V M5U=/6'P]_WJZ7FTDQK?'LZAS8D9 $L+5T8X2O%2Y3E.0(JJ0A;=#(>\N.9W@ MK#T('H+;D1KI%%QBFSSD6!0!'3A7!"C'+00O#4@IT#.1T8KFV0P/DS/RO=ZH MX#I$(YV"2UZPPI4J$IFLU5$95.WY&I2.(),(A>G,4+>^/GZ$G)%O^$8%UR$: MZ0!<%P5N]3_7BMPVKH3-F2@S%/3 2A$'+@";W!0O_:.C7A06HZL5NC M!@F-=-4!ZCX@!?S3M+XLL+S%T_V?;E>8"D\;[G(A5N32@)9:J,Z3R;? M)U6 7%>.17AM;.O2Q?LI&1=@3X>$17.U= "N:V']9F^YRMRU):- Y4&HE$!Q MS\ 7KNE';P7+3G(QV!'S;6(Z<>QZ.:([0E,]0>XB5^FN #<2^V.^B"MP?XOW\K,MIQYPV#4#<@Q:0#'S19"ATM68N".;?>SCMT%_O MR#UQSW$*ZP!U#[@KVH7(C5:T@F65BS) ?\O!$5?H4 7#6@?9/7J1#52\FWNX MC[P[0,UO8?ZW3],3?(%?%ZOII6"*I-C-90O2JSHOK!XW80R F4D2DS ^MC[V MNY^2KHYE^K!6#536 ?#J8ER??:QRO'"S-US$S"A RPQ8J XT][(.M(B04Q'! M9).C:PV\^RGI*B+I W@-5-8!\*[YOM?.\3?BW'C 3BBEA+(0A?"@C%?@BG 0 M?1":R1"P^6"2'Y T1UJ3T&PZ.@D@6@#A(9"UTDH'2'N_6&Y4L[YD[AXNMY8< MD]T5[P M@3S6Y1KSN= >9D_K(@I+$HQTM(9MR!"#+L!832]35O+4^F1Z3Q+'Q>)@4+ES M+C*GH2UOBN["!'ZP/2#B+!2E9H:9L,H?9IDKHH[R7'>'O\R_&! MR1[TC1LG/Q4@!]-8!VALX6>_N:PE,U)+*2D*LRXAJ)@5>&T1.!82L#:Z-#>A M31D8=[Q=9S'/DR.B@^5P_[7^/:M]$E2BQ:W(Q;>9UCG7Y'1%Y<&QG(DR8SQK MWDII5^(Z\5F?'D [998=J\VQ.V-N!DQ^_$*;WR=?\/5^N0AQE)QT0HF MZW@PO; MUU+&&%#>.0B2,;#<83$636E^F/DX15T=JX]H$!OJK4,4_MMT M_651;R-"GL[.7B"]Z60ZKP[1E08VL>1$.1NETX%B1%II2D8*&6W*H!0OB")$ M*UNWASV8V)__''X8[ ZC[1X;4+Q?+K[B<1H67)%Q$4&%N;J/G:]:<4 U%RZ0(+G)O628R[TC;RJ693W#P\ M?*:A?CK8>A_DYK>S3_2(B\$73B<3JIVM6?!:)(@^DO!2E,614^M9Z[%0.Y#5 MRS":EGBX?:?36#D]XZTR='$-%H(KPILZ_SK7/E.^U):4"I!1.)\%>1O-4UUW M(*M3ZW8H%':%VH%Z&?MLY4%^7GY/L]-,'NWS\'6Z#K/:>F_;6OGY8G69#^=2 MM,[D#"5L\N%DJ;F=";3ACD5G#./Y1]Y9$THZQ=VAN%B,I:0.C-^VE?:3+!^F9IQSY?%A MUD@_'2#M#885?EG,\NN3K\O%MQL=OQ4+,NK,P7D92$(Q@A,LDH1$=+K4++K6 M\?DCY(QS9#P^UEIIJ .P;45#(MQ^^Z+V-%ELA'E=8$4X5S!E$!3KDRMB''B6 M%23)7,IGZ\7)9A3?97%_"B4RP1W$QW60*5C+>>OKB#M$C)/Z,C[,CM-&!W"Z9W%L4]%$CCX9"T'H"*J& M^)X'"[)P+)X"^UA:IZ@\2,S(F8(#A:-M=3 BF%;+]>1#F'^^.!%"X7B4&:2I M+70$+:K(C :FG4\Y),_<3B>W]-1KH*&?K@!SXX6]S,,;F$G2NKA3K\==\##F@<(1RKJM[@,D-[+"?Y_.IR>G M)UN[%31JH0IP4Y"PSE-M62YI2\T!&6/.X4YQ_P]4?N.E(RO]$)4M6LAO;,6' M[]<(5R9[-'7&4DXU!X@V1,*OOW0<^]],\0?+KP/O\<$M M[\UETD[D+LD422[>4-2O:GU-[6NFZU@NZS/&YLE2/Z:JEQEF8USC'J::GL%V M;5J0C$GDRDC!.MG9&08Q,V*.H;81;138NG/,#F1U>IMV(!)V!=J!:ND9:7]= M+E:K"7?!>!$5!%,HUDMDZKTN$HSB-D=5G.&M;\X>IZC3\'A@?.VOC Z@]2RE MTY/365AC?H%$1#KO>D+?SW"CL'FM6%VNI_^Y^?Q!YB>&\^2X#Q15)/(W)+,0 MDU+@ZU+SCFE=6C?\;47[N+OOP' =1<'[ ]N? WN.GRNEPUK-M[B><,5%E)$< MV^+)E;$J0!#DU)2HN(J"11&?S&82/>.FQ8]E,?=5Q.'V].W;A1R'"8>CAKOJF^.G >'^'GM[/?P[\O MEE=-D3V6[*0VX$(=Y2), N>2@<1SSTJ7-",4]A//BVQI\CU<#I%0.Y+RB70#\U;>^Q'XLA=#X:" MRNZ0/%IO'<#R^>EJO3C!Y0><;52W^C+]NDW,2!10\9K8PWU$8B4+\(P)<-$H MDY2.IOE!]"/D= NWXV%P.\NYD4XZ@->G9.@#9MBI@FQ5T2WK;MG7* M&QF*!"D55J84\<,MB*RT-E:1]]PZYW0GPD;NE?&4=JVYGCH 7VWG07SA&I]] M7N+-]&V,WJ++@+%V!1.*05 D.H&MAG3WG&TTD!@ M08)B+M)WM;U_\,9[Z[6..R4:_USY@7LIZX'\P'TD-W::V(W\-B+0ZLPJR]R! MRF0+8_3D]UM'BR!PY60+E7>8'[B7RA[,#]Q'?F,K_D9^FU?.&Z$T!,-4/;OP M$+*HQ39>&.Y09+?3.=#/EQ]XL.(/EE\'[N0CF][55:?@2J-T#&1P%E3(@21C M SG+6D3RF!BSS<>U[T!7+SF"8QU1'Z:@KD%W+2/-9Y99]<$3"[7M>[3@N/60 MB[.19Q%#T4\&NEXR!=NC86>X':B:@^'V#9=Q,;R5.\]1,U$E7G@!](S58TX# MGNE81PXX%K@4&>/36;@.4@9'!-H!*NG:IJVN)9Q=3RR;B$(QA?*T;ERIB3XI M@PM! 4DOH<\E9VP^B6EO*KL]+APGP&=-.A/%@=&6D]O* M0S7I 9)S)1:!@9?6=V^/4]3M^>'@N-M7'3])#N"KTTV'FVLKZ>7WKSA?X46B M7*,#SDL'3*IZPDWAAW-"5$1EI9R*3K5>X$^: _B8 M(;^KE[>D@T]_XNP;_KZ8K[^L)K$D#,H5T,PF6LMDWJ.LZ\]@B?E_M_=ES6WD MRIKO\U\P@WUYF0AYZ^L('\LAN?M&/S&PRCR')GU)RFW-KY\$1>U_ M9B.CL0-9>N1(I(@3II!AG",B",<\TI".&;UL)W38D*96S+;1XFE"%; 7@4V' M=0H4)2_S<["<*HTYURK ;=+.26./6&BXB]1A0Y^JX7JP)D\2L!]FU_,141#1 M2<40#GGT;WZ)XS2CB!+L:*(Z>%*ZRU([2H>-F&J&Z\%Z/$VTPM\=2!5_ZT6D[2H<=Q5@U6@_5X\FA]2S!E^]9Y8$%SV@$ MGYSFAY3.Y-;T 1D3?#*)8&+!KXG@ MDG-/.;+Y(D)X _0R$GBS5EG'38VJ5PW!0_528X[TS/OY=0QQG2FTTS#+(R77 MP_HF#V/8/_RCU1S*M[?_Z-'LM@XOJX]#6.<\[ #R*S7+ MS-[DNI#\%F)%CYTL[@W&2(^5"/GP5BU=/\RJO+GCC'-O@],$)6UR2Y;DD!-4("^L%9HH MSIK5KA_TZ*8I=0,W@>H)9CUIIP+,=%29EJ! MV%A V@>04TB>%W^FNIF2@;LT]82G E*O #N7]E8T[W_Y\2)^M;_6XKIC1Y*D M<0*Y8$_R/&80DR4D@0<+X9'12413?%[G;I(&;KC4$YI*ZJ$"6-T.G8>]=7ZS MX5SWFNA$C$$2HBU@QH&@)!-(22V(C28J7KJWYDZ"ALWQ]06IRGSG8)%-7"!'B*)12AM" MZ;NC'E,/#^]S5GU-8OABY\N;KW,[7<#JN%-JK*VXB\&E8)+B773+$OF'C>MT3BWL MIZY0UB!_:$-QCPDR)6$!*B*:O--89&3*K4^TQ@:[2&3IRKW-E'0>6P_H/T]O M 7#CY0?K5Y>6MYNI >!R$A)B-,$9JXD%IRZ7#ALP#V.3I*+T?K&5F&$WC@(8 M>#&+OHC8*SAFGK*P"@D$;'A:Y'8OV&O8^2)#FKF(O$Q!B90O TH#YR45PR*F MD'J?UQMTDW5U:%G'!DPD:8B5B#$L\G1*EKL*4&3!CZ<*6%*B>.7*!CJ&14Q7 MW>Z$2@M!5P"6B_AS-ODYGEX]968= K*0M(V4([FJY"*"H]RM##9C'["GD?GB M@^YV$E03?-KH^T4X5$KX%2#I4US"8G<;\AT/0A%&L$:*Y%)]&7@>XQ)08!9+ MIDRPI'2YZ28ZAHVSB^.FLZ@K@,L?=C[.A_4%A(NW.S%-#C;;@"C30#\Q"0YM MSE&PTC&LA-2X]$/(YS0,"Y-^_)E.\>*-R%]2,>Q1U$VK.R#20L05@.2-7:RH7V^%6"2&&0T(,PDG)TX!V9RY MEDXGF5L(8E(Z.'I*03W@:*//63'A#@B-G,H:79Y_N#B?GX5_7R^6,;S__>+C MF_.+1[R(Y*111"#+,$7<>?"NG,VRD31>=B/@/*R]Q;DP\->[ 4PD-QB0Z- MCG=V/+FY7"58,UN7YY\_GIW/+\\NSC^ON5%&+;8OB9"R4JUA3,'J@$TVLOP. .FD<\?U('/C;8<$I0Z#3 (Q MC6I4BXZMZ T097W1]I*L0?UW_=N53L;DWMK<,_"P2$0N))GMPQBN-(^AD==Y M6E,J#E+6MBD5!TANZ&$%3Z8L0#@M+38,16$"X@I<'3B_($8'=YHD;PGG1885 M5#BEXA"5;9U2<8C\AE;\DRD+V@*^O3!HU=&':\F0S2<4%LXXZ3B3L=%+EQ.< M4M%6\:WE5T'XN.FT^W1?L1 9^$)"*^0ERU>0^3+2,H>B"91YG**1I:].=A(T M[$NZ?K)4Y310*9S6]O%F-I_/_LH9?_L#_F1Y,Q*2,9.K[&@TX&<+DDT%,T2] MIH8*J8(L/3'^$/KJN^)M"8L&@"NBHZ&#VDV,Y3?TP \(?"N+CAJBI,_ME!+\ M@DF 4QJ. 2*P(3I%I=3>*J0.WZ\O\]X-9L=2106[72[<^3A=+.?7>33E&[L8 M+RZ!%AO.IX_3"F1D%%:!X^_7Y\[5OZ$/$C& M-1;:KKM]%'GLNW6MS@6WS:@L5'2[_M@'@-2F'COW%9BY79-4-B+,\CR:?/-C M?5"(8*]MHN#S%[]M;4A:YUG7USE8/4_G/V(6]_3J,EZMQBN/ M$Y(PWQ*X[ MC85".$2+=8B&^M*CD[82,W0]?WF4O)AP740/!2?!];#QO!LO[-75/(]= M@M5F:?WS MO0GI6+;4J'<'#D+0I39335!F$XIQ"GT2'#<$*"T]BH#L'* M"W>ZE#8&3G9?@EIBWF%_B[.KN?WQ;>SM9'7=0R+SU&.QVK=S&1%&%O99E(03 M/,]C\*9$XGLK 0._02FFWUEI80^-F-L3^3$+ZSJ!/((Z")=?W[D$8G$LMTD& ML40NDA&&\=#(5=J'F&T$#'=?5DBQL])2'A@JGV?SY;'G]SN-O5\DAH+&.QYSXB+(1$ MW F%'$D426DQE5@'EDKX)YN^/>RE5B_.;&<1UP&1W%ENS<'BKM[5*!UHL'D* M/$@D9YF, )ZTAO P.LX$:_3\J!E.7A(PG*O27:6LAW:@?D:_;?I M;#*[NOE7#&,+4OD:)]'/[NK><+Y%-4"\5BX@[@F(QR:%(" 4@29*8Q*-?)4] M'QK.FRT+B.)"K6#C^#">VJD?V\E:/FLN> (-ZY2'2"4/?E3NV&Q(0BD11;3T M(*_2M]2;*1G.I>UG,RD@[PI0\R\[O4[6+Z_ATW<'X,\IN"4Y5)^*SW$ ()X9L#]=\6G4N^B9YA!#/UAIYCL*\#1IMO65:7A>?HR M'_OQ]&H54$8MF'%"(XRQ03Q* 2]S-QSN,2(!K$MI;"#@.CK<:N@"R55 +ZO MX^\1MNQ_65@2XHW%'9]W/J+$')M($"8BW_I2L%8X)!"UV!+E(52UI8L&=U-4 M.]#:HFTHJ -B'\:\$=;[T M;K:-EH%;J1T#5$74,'2JFC,KJ*!()4@:7*GY2P@:Y5'6L*.*14. M))6>[KB/IF&?UO3FFA=51070VE-Z^_Z7GUR'[%@N%A'^%[[:7Z,@$D3/8#-! M< G1A$L??[>M.^2[4UD5EF.VA(G+WO/]JJTNI]CW+'\QD[L M-.=TNK_#V+9DL0<8C6@^\LN+A*W'5N0GH[D",4B%C 8O.UDG)<>>4EWZ"<*1 M7EYL7!L,8?G;?+98C ( GRG#D2(83,$RC8Q/'F$5X^1*)TAW4W0:KR\. MP4N3M$)+C51P:&[BYFZTSR-+W?3L) M&C;J&PI=[?11.[C6TKR(?G8U'?^_&$91$ZHC@0#&$0^F8R$L"F!)4CF%"3&" MI-)M_@^C<-CP_Q+V*.R\'-_!+G:3;_GAV;C83AN/02FIX6B4) \^R4\@>41,!H5Y@+\M8>LQ-5S!>=Z9Z\NEG2_?W0T+<-*FP(1$@=N .'<:664DPDDQ M:N$(H;&G]_*%.*@"YT?%8&DS: ^(UV .#RDTSWP45H!C[T3NN$8]R#\2!.+0 MAKB@.2\=:)6COHJH[*3-H!T03L4$1HK[Q$":B!D%3"D6$<0B%!FOJIXRP8 M$KTN/@#W0!)/?),](E9;JO544+M+RO /QK- X# 3GD;!P'.2N2,# 6O5EB)E MC/,.0WCC!H%S ]JKR+&=!,Y+ Z'F!!T$\MFFYZO%+L:+_Y2Y*=V\9LFKT@94 M'[M+G9%.<4WS,P&2NP()I#E1B'">.+-8BW2B=Z4[*V64CSZ_7$ ^"8^XUPP9 M2RS"(02NHB.)E6YP_PJZU!V E8.ZU!VBC0H.YA>&_.;F*_S3VQ8%F#(JK4-S M(JP6%'9NRL#[\T8BHT- RC/E6%(R^N+50;M)J@Q2;57_'%(%]5 #K%Y:WILX M]=^^V_E_5N;'27#@$!AD#$X(Y!8@J@"F()PP0F@>+2]]<;./IHJ;7!4^]]JK MHDIHW7&S-D/#I7(V*I0B$XAG.=FD*(+X2%E%' G%HY-]-%6V9W5"P%YX=5!' M!?"ZM)-<^K(ROL_Q[KT49E($IH%^F;MF&&Z189(C+UCN5AFLP*7K*#824AN0 MNNAZ5EKP%:#GS/O9]70)?/@X_IGW[KOFD\8YJU93:P)&//!\+XUY]CF)I#&/ MGBD-H&VT#/[NL3\,%1'_T.\=?Y^Z\602PP,3B[N'>HZQJ)1 0L;<8$X%Y#(7 M6!D=+680MC1KRK;U$X._?BR/C8(R'7RR[[]G\[M 8;$ZN6UBBG,XN3UG 7&& M!3+!4F2#2]3(@%FS LB]XWV??[GB7B-MG.4"XAVZ6;W]'L_3$Q[61D-M])(* MV/9LGF:K($#5AG,DA3;YT1WCN-&TPGT]Z[<1,%S/SZX:G946[]!'RQWIY]/[ M@U'JX SEN5PIPL$(0G%.2Y ,[(*:.R^X;'2DO%AZ.+47TM6LF. J<$SWOL!E MC&(;8-O!8R1RTPE$YQD3% <2R?Z3OC1?)>$3%%55 "M%U[;0_4,&4E* MB;*4(9K V+CC>> T#8A&H7PB).#B \UVT5/EW59+S>]+Q+15P]"'U-T0Q:>G M]TA$G9L&2HC_5^-!*$'.,(ZB,8P&F512NM%)M7G]*K._W9!12IHU5_5F& MNDU:14VEV[OV8K0TRC_.01=+S+"O>NO N^I&6NWL2NA46$J@3/,(-#0 M$>D@)")8)*R$8**'%B5-J1L6CD> RHOZVE[T5ADBUW$S9A$<1 ARP&)3?KKA M$#B3)C>,DSKF6*C9F+N6R*OA$K4O?>^ 50OA5P:?=:Y$,,:TX@)1;=UM\U)G MI19&Y!9<69V[ MK1+L8"/70O3TK/ITVCN6Q4F!]HZ'**T"7+XL6_@8A.@JO1>^7( SU#/R+M$6G%U%!GQ]!/T8*%?+;SG"+^&3OD MRK:LU#E)UH3"0MFQVT_=IRD,CI*FZ!"H,>9'CA[V"B91!.QHG;@WL71[@:<4 M=-U"/N6]+Z[6?!<7?C[^\="70E%"@H(]$"(/@0"L"ND8' )]>FM#I$F4=K]W MD#/L4=5![\^WBU(B'[APY,).KVZ?Q-CH/)R-'.DD4NX[JI##A"'&G/6*>FM2 MB6*B^P\.C81"ZIMUE64- +@KMY6*2J(HDI3E%^<*(^NQ0)& )#SV5(M&S MG6[T^'1?">'CCPZL]#8JFY60W]"*M[\>$1Z3Q"3RD%L6KGK@"_!H@87D+'=> M)JQ]H^?L>VM'?QVH^%[&/1=1?&OY51!D;C[O'B(G:IS%+FHDO3$0X.3(R><7 MADQ[2I2,Y>/,/20-&VJ6]@_ZT$,UL#K_$7/,-KU:\77?=&;UNZ]Q_GT43$C4 M"(J4\F LB<4/D]YV4<^&TLBCRZ)>1=.#?\-#0S$H7#V(D02P^4>T9"C=M4&01UD74%4-ED M *M?/L^6?\9E9BQ.?0S9#,[377*9C$BDE'.G$),4(TXLB$PDCZ)T2F*:9*2E M4_XM21WV%ULL>R!O20(!O&2Z="UYV23M4SAGZ8VPX\DX"$"(RL]21*Z/T]XC MZE4T% ,J6>GI<2^I&-H':JWE%P=6-P$/7?G^AYV/.'#@J!,';!#&A;-.1E.Z_>!+*H;V.(IM%1T%7 %$'NUQ5JLH M+$;!.H>XE@QI[$,N=W!)2F:%*(V,PP#1VR.]@H!H)\[V.)@M[:1/'_*N7&R6 M+J]_@+^8(SCX8OZSC]-5*^#\C1]=N"M']/4S^_S4S=_O^/TV>9\*?B&'$G,5E-GZ0L@NN '7(!)(V- M=D)P@7$P^T[$#M^ORJ]N [-CR?Y$X/5@.\0:[(V4*!CI"54H<@TK:(L]S=6GN<>U$;115Q,O:;KMY/8R/PR5,'7U?EU'OW]93M?]GE M]7S?DL5#HFKD#2N^Z)LX^WO MW0E_%S/?[K\A-[?Y -9@)W]&.Q]% 7:E$O"NP>QXY II R&USO.J@C:)F])- M$MI36U56XQ#4-+JN+Z^P"H[,1IR^RRVL?RV__A4G/^._9M/EM\4H))4@J$E( MDQ1 O"0@ZR.<#%H8$J-5\*TA@+F!UJIR'KW#LJNR3@B4V>"^_C4;,8"*]]HB M%0G(%"<+,5+4*'(-;D+B$>/R%T8'D5A5/N08$&RCFE-#'D ICCQQ@NO\7H+D M@@QMP;0(6)H,)AEBI=*,#XF]3&15J9.CH>]@]9P8_C[,KN_3L,Y"QO#^EX>_>O8]_VXDP7F0; &T]+S;%L1V@A^^M3A5T1-AV/1W&)QFGM:K]YI M]')G\7#O!YXJC=PQA"F&[=O"+S8 -]KFETE&6NY*OU_M:H5 MXC278^0.@M0+9P)SAO#2FBM%NTA91A;P%*(>'YYE%"[@4WC_8 >I]2]+D?V3U' M^=(U/SD<3Z]ADZ3K+%4&<)DZ3[)S:D; M-JO?%\QZTDZ-]^.7RYG_CX.3.,"/LDVM5GNHA8]P9LUN8EQL_'OSZ&=7T_'_ MBZ'#B5>:A,['9:\R*736/B ^OU1^^/JZF65^<[*X_ 96M*+O+EI\\."P(S@/ M+;-)9 ^.T#RJ12 ,/V22&BE(Z0X'W2@N-[?C_5I[EW'^<^SCZI-O\BW5)ZV[.%)FF--RJ;.\D3;\ 1#K /1*,B<]J30$KGWGIA M9/ 15L?"\O9Q($/!HH*LW^TI=PD*7SUZ^K1F<3W;4OL4;,K23 A.-HHTU1HQ MIH$MY8-PI=,N.\BI92#(8 Z ]WUUR](%S/-; A)ITL0T&HU5P#@K2U%)@1 M*2HBJ.&E-]J=!-407A50>S,XM=!!!8#*)G:>+NW#6&["K XT@6G1/,W"!HUL M- E)EQ3S-%>XEG9Z7A!1)7#:*/C%I,@NTJX +A>@"2#@V]D4_/:?<3+[D26T MSC/<=6<4D6J<9ZIH,"MN/01[2H"I"8,%26!KHOSXD+UDU1"#]P&ITAJI &27 M<3+)8R6FX5]V_I^8T^!/^7$A&J(5NRU7Y!751078^BU.X]Q.@)^S\'T\'2^6MQ,/GC*5-%A&MA"%(^S*++ \IEXB MB:5G%$N97.DMK!%APU;']8>R\EJI &IEPI]/]TW]+ Y>"B>0]29/DI86Y1)] MQ'(#W(0E#L4;EA5FH98I7K4$ID,BI (#67,6PV;&U\8_PI(EQXA'+N8!W ;\ M&..%0TH$P;3&CJ72G5":439LE#(H>)[/;RJOR=.Y!BHQUZGARCU=VAQE[E/' M_+42F&*N(H)C'K#C..RX.:3!A'I+P.\HW\:\EKN8+:8-.IM>K3RQQ9N;A[^S MIN/L+SL/MT=4C)2)W&(\AI3?^2F+K(QY7((A=-6!\7F#E8+W+QV)/^D[ET,P MN_W.Y9CJK\ K^#*QL"%]OYT/9(2T2>8J-Z(TXCQAY$)^ST^\XHQ[Z4SIBY7' MWZ_E)N6H$)@5TD=%6%J'J(K$9 .WB."4VXPJL$=/P&LW>5!I!)'XTN/XGE(P M+)[::W(+)%J(=>@F4F<4$[WR@C(3=TEXS3$E*B$B57X:P$Q^;VD4M6GU.G3>1E6SDG*K0/$4O_^?Z_'RYN,T-VT!=_<1*][:9!Q1R'+) MUI>&:J/&K! M0S0(9"'RG$R!;*(,,9V<5D$$:XO?>/7 Q[!G80=8O6AA/[".*\#Y??XQ.P7G MJP%$Z_W?,(4]90SYW .-8YY'.X-_:4VTAEA#.2W=!&LK,0-'<(/C9-N-0R>E M5?$XY"(NEO.QSTGGS,SOT_%R<7'Y^[UK*IB-T2,9@P+K%A*$9.#X2<)PIC&+ M0A?&X$Z"!C[6:\-A.>55L!-^B?/5Y(/I^A9F<5\:(9AG22+MM+]]7&,(!$I6 M>N$9CPXWF^]\2+IA,RG#5J=4A[X2"JL =WOENDVLCR[]+#,6)X&8P> $Y7'* MEG"*6.0*$V4QQZ5O5;I3/3":JPB1CJS[4T;[Y^MLW&MU+RM*O0%R^5>[N%,5G*)$H"I )# M:508\GDV_0D^6+P]8A=?<]^:QW^>KS9O![X^E(T\"AH6(\=3DB9Q%!/U>7*$ M0B9ZBJ0V@0<:! FEN[D=A;'*'?5^3:@^Z+QJ>[I?Z?8?K89^?_UFIW>" G?3 M2P71CZ9$@H\;"7*,.!0X5YR1J*,O_9YK,&8K#U%.U>Y*0NPUV^)M220<^>L? MY;]'1L92$;0+"+OP745>NF#@N!P.^Z#@M5I==S"=3O7K M0\./V6I+L;DES'AYTV.KD\T?ZKVA20/^ZBB5#=$))Z1$TDN#N)1Y3X\112JY M8U(S+TN[YJ^F5)8Q8RC#*-%<%1640!JB/\1-TMB*W(J[^#WK/Z6R!V*VQU+9 M ]1?@3?TI*"/>1P] >$E'')!G]7(BI@0\X1I %T@O/2[_5=9*GL(!':5RAZB MCXJPM+Y>,5$:IGQ"V,> N&<%U#J4A[3>XNE3U$K!54 M3+XL^0P2_-0@!!(&1V! @[]-7414:$F5$-KSQG62=9?*'J2JO:6RA\BM L7O M*N\,DF.N PC&ZCPJ@F96J$::*"\@YA(0YKRV4MDN8"@ERPH.B:<5=(;GYYS< M()&L1SQ)AQQ- ?9%+EC2)E%?.LYXG:6R'5R.]AJI $Z]%(;88!A3/" P4I F M32(WNX'?XLBU3H$Z$@JC\K67RAX$JV.4RAZBXPIPOJW>2,!I0JS@2(;9*;Z!="L1.JTSV((PT+! [1&$5X*Y ?IT[*:A.%D5MP/2# MLWKN]#SZ^5B::=A/+VZF$TF'V;S M_(9$,J,DZ;IDX4<,HB,S^C*4% M3%K;R8_5M?OETLZ755C+JGIT\7%Z6P[PVWRV6(R(5E+3B!$-^/]<;&XCN'=]1QD>\O+;?STN/[S M_:\X]V.0PRBDW&?=P8: =>Y+;#VR!C,4:>+8.P%0#<%[N=WEO^/XZEL6 MTL\XMU?Q+@C\,A_[F#?#M-X,&;,>>\V0ITDAGB<3Y9Z#2-M(#%7*.E?QO4I# M+D\T>5"'L?4,JK^/V8V2LD$;%A&GSB&N2$"&Y'PBLR(IZHWQU;1Y.8RU5W-W MTPO"AS'(@^!V.K<]6XLU-N;P=PHH"FP(8PEZ-$8@8XBF MU#$>:.DYC*2):1\U(IZZ//W=(6==WKQ$"%XZ M:O#1O=HC)G].X9*P"G,< &Y_FVO%G1)3E+- /(%@G,*^Y3E#.DJ"C-5$)66I MT+5E9[MQ?*)^;AVW(D<$VRLX),]"6+7?LY.'!E4/7:=LPE(0Y1 -N6)($!"& M5SI[^(DF*3WCI2?5],K0B?JG=1A6.:B\ KMY=-I_G"[GX^EB[/^PD^LXDAP. M\A@L"LDQ+)BE!S$MP]5F4R.3NMC'$7)YG6+"U/15HS>QI7QC6:X;'05\M M9NKV"\H='-M>Q-Q,!'[^=C9=*?3:3K[&^7]HUASZ99,>)>@5$>'.ANDQP96:,<88E"1!%5GD@=D)%6 M(4<(B42D8&WI1DOU<'^BV9;J37@@?)[B:(#Y_;C/1?Z;U]-QWOM^/'39>OAQ M_^,#VA/3^XB!0G*J8PP!5X*S/,]0$L+!-AD''S)HI#@UELF0$BT=P;R6,03) M>D-R\HLD'A#G!K8"X3$"B4IC0' QE1[\],\8@D,QV]\8@D/47X&C][19:"+" M"8$]TIR+W'C&R@7 M04A#)*)&0^RDN)=@0^"U3&Z A^BXPIP?G'O[*W< MPM_!JUM<7/Z^;C6KO>7<&H]P9"(/Q/&W4\D3M1).(BFX+0W8G015?E72.UYF M?2FO B1N:W?L\C36Y BB4J?L#05DM>&(43!M)ACUM/@0F []J8>[(3@V^DHH MK +,6(>"22*_&DS(!1Y1BDJ:H P../;A.-X1\%K&271V M'%MII"8XK2T,!T>)UP99P3#B5BED.41TW@6"562.%+]"?49"!>Y:.V5N@T4+ MR0X]S>C/:.=93^LMDA&9*+,*,14UB(%KY%2"DUH1':-GV))GG5VV3"]ZNFXE MFFZCGUD9856P 10H0)-*L,@@E-'66L1!8,AA2Q%UG!@EHJ"L]"'4G>K7,N^@ MR\EU9-V?,MKOQI%!!'.]TLKSJ?#W,Z\?-R_#1+'(;4 !,YTKMQ@R!.04,#81;&+^ES*=_,/T]3&W=-TQQRQ2#@%"K"%%AQ J9W#=?8V6L MYUA87,U;D$.9.U$#.P+"CV^,+>!V.IUZ6HOG:2^54:1.1FI!'-K[W% V(I/ MC>9>&$NT%EI74X-[(&^5)]3^#K;8 6Q#Q]3]">519O.#]4#"6?CW]6*9_^XH MCSV3SA)DI8+P@ B.5M/1N'6<"N)ARVH6N@]"_HE6TA[/XDX$6:_:';VM:;S? MDZS".EI%D/2$(4X#0U83BRRS4@<6A$SJ9 [ I[R=:%7L:SH .X#M%;3OWRN> M=7^B1Q)BT0AGE$*2YO[Q26!D5 *_'?ODM&$)E'HRYOB"O1-]O/R:++(;Y/X. M1OD\@*:">4]=1(GGP88T%XP&ZI"U5&NN\U3H:EY#]Y*OJ:^]SFLRR"YP._7F M.LV%\^R=S2JPSK>A'^QXOGK/^EC1X.H'EKC(0]L%>/A)(LG[T(X(3S?V4:2FM,[R: MCG8%^7[U]R?]&4Z%F\!!*/[;W;WL%Y_65ED)KI!R^>HJ,(FTU 91'W20VGM; MSR3MTLR?Z G^M]H)^L3SW_+^9[\("LW(/ ^ZH#@:?7 OL%IXPWE!*SZH(,T:!Q 3"D:3! M6!8"$R*+Y56\$CP9T[)>:48*'E!Q*R7/8/I5!#CN& ME,81>^-3/*'RY$,X?_779J]@"^@-R:_:_@_(I21&C&::(F=)0#R1W#M+",2, MQL;YZ+DIWC"G KY?_0W=*[#]GE \\.U>MTCJ1: T,B1$A?/#5-C^LM,300C6 MH$!TB)H$A@/O-W1_0=.)AMO=KLF&U.OKS6H]S07>__I,5HQAQYT6B').06!, M(,.D1,89:>'4%^IY1^&CIZ\:,7*B0>F0AC, @EZOM>U(PVT5G(:]R$0&QL1C M+@"';0HKC*0U*G+EJ;%F8-,[G*L3C0RKML.>L55C<]_W=IZ;%B_ <5QDH3VT MJ\W"O;Y=?)9 EF-OI^'=>'(-7N[=OP)YK$3=H:%O60(Z-_'M41Z%&O<^_]9] M>U.BO6)4>Q0$S>6#02.M"$=1<^>H :G;TJGR;;1T.CL^@W'.\U^ T&\EY[-[ M.7^:+5[R#>$4]TDP%,#KA'/1<:0S\\J C2F>L"=[4=CFP\-6[!2!P9-]M4^Y M5Y#*^AR7'Z=@YS$S,R)>8V^80VG56UX:C4QP%$D?E4D18IE0NLKL"0'#@*=_ M/<]*";T"Q#S+Z=Q6::\;X3R>\;$2XBAHC(ES&D7'%>+<:^082>#/ !)(%-+3 MTMOO000.4U9T=,3UI[36B 1*W*Q?3*ZE^8++D4]:Q^0)BAP<;.X403J TRVE M]PD,#BMCCH/*;20.DXFK!9=%%#2?.Z-/)/F^R^7CX1(!+9>(>IQ0CSX MB$R,%'GJC?>$1X9M(W>M^3>'K:@L[ZGU).T*CMR-G(V$333D=AF!6P^V %NU M4TXBQE)BR2:07^GK_XV$#.BT]:7R66GY5PBBM8Q&GEG+<&Z<:21!7 N!C-0" M>1^3] 0;;4JW?]Q"RH"^V$! :J.#T\J7G4V7XY"Y'/^,E]%?S\?+<5R\_^4G MUR&&K(4G&:2CI- *T=1C5JT/J?6=:%/!!QSR7#J3MT/#(K*.&^1"T"9A =MB MZ<8II1-M+]N[[E;$AZ>*.'^AB-L>KT8Z*Y76R$L(Z[E5/MNY14Q;YJ*,),CB M/=6*UBLX&EY##!.<:"(VL=Z 5 M"Z&AMBHJ73J'V",[M8S6.CY*G_?#KP0RU5K/HSDG&!OG,'9(2)RK\J1$+B6, ME&:>*AXC-J7?:>ZC:>!F_;6 IQ&H6VJR F2^!\=X=A/C:D#3[?7]>JQ!3,3R M) .(!7[A.#KD9"!(:FFL4@*KXDV6MQ)3(Q;;ZOQY@%=$ 14@:?>P+ZQ]U#0% MI))GB+M$D=,&CA06,,B(6E*\H4SW26V]I3)[150Y152 JFU#O'#4T5HB4> > M!$1 -C89C1*/F'LE RQ5&$]=IJ[U5@'=*Y)*"+\"#'7T)3[=E]H9#R;"AC$4Z$D_YJ&B_AC-E\" M;NY3KC((8BS-#PR913R_/'0$MFZJNZ> >J+;1TKGQF&22(#B//-BEIQ&L5,"95+H*M\G86M)]'U(4H ; M,QEG%V+=^# .=3.WF[EO;B M;!H^S:97G\ M"6>+15PN;D,[3G%R/.IIZH3 MQ94>MX<@:OM-=^\J'/!,7LR7HTO0U.JIXV_WVX6=K.Z(%%,B*LY!:H0BKCT# M%X,[Q(-*&F.!HTM-< A?>81!^-T#_G824,LM_O1EQ%1@3^>%+\'!(NQB0]1BVR%4B#TYOK\OI_+G\0 E6H///GT;6!0E,,V2<3X@;#3Y9$A0)3CBUV%"9=O5?.TSGGS\- MKFC/-[*SY64$R<$Y.+EY-U[XR6P1P_H^U4C)C2<8 M*6'AZ#/959+Y/9R2F@'#&,MGCL&6IUS-OSE,^Z'RX.A3U!4D# ]TOQ]NBK + MD1LX#)G$,O=3,4@[I5"(5/+$*)>^]%5U6UIKN9H^6JAS5.76 ^+;*\;I*C_Q MW^/EMSM6;Z\@<_("V(3_A:_VUTCG2_Q$ R(8PX80:$(:!(NP$SJ!Q5J\\ZSL M@-]#R!PV2C\.?C:#MC=EGG2"?0(2GV2)VY7$WYP='DF'GVQD0<+]W> M3BY]9]UYDH:Q1)!C"7P!$<$,,DIE]-I'$;E7I2N<*\VZIY GU^8F"#%-LHZWZ(E"O(QEU"[[MP/R\9=5)EU/TAILTX2K$#GOY^-$B8">QJ!3@X,4RV!84^12X$S.+N5 MCKNR(@?>M)S5F'7OHO,#)5B#S@&E5$%42Q6*UD*PFRQ&#F.%/.A+1F,\X;LZ MM_5RNW;DK'LGG1\FP0IT_N73B&B"=0(_W!J;IP8;^"\M$[)84T<%!P27V]N_ M-+MI.7(RO8O.#Y3@"=VT2!&(I!HC[.';+@Z-/4=>3I#X\F@[J$])Y-YKTV/VC,!ZZ-/88;D);023L$?,P&("]>W3+ MRO?5GOW@Q;8]7[:O6(#$?TU_C/.B7^$<>0-_^)\B9+Y<=1!O:J\N[A#52"(# M.LI/Z(O+;[-06%_/UAPDX&JGK M-EAN9$4[A5)<64?O4[F1J^=UZGTF)H>'^_8>]&6A7VFO^V.FG?>*N@(XK&@[ M^P&?]^.5*"[R^-'%Y=G%92^PV/^]86LXC@B/QJ(?VH'9='K B9XY+!\-W"W< M! :FM\.R=3SP3"XUJ.[W:9A/;JX>#8GYONRNMXVK-MK:\?!:VR62&E3V_M?< M?YF/?0'[>EBJD7(JN%I[P7P-&OD-3H#E.[N,'^QX_H>=7!=0S88U&^FH@@NU M[>(86%E/+?OF7_]9KJ#T]MOTZHOOMNWM6;J1ZH:]8VLFG%H+]-[/5XGOGHKS M7JY>I#!O#]$=B_*R4B^BG_V,\YOS].);+\#0"O>-/M#!9->KWGVF>Y9YXX*# M)<@.T<]C8]TEEH$WV5Q9MWYZF\^ SMGF3>L-IJ^= _#S;/EGO#^I8ZEZY"8?&*PD MLL!AN5=L VOX RPZF\8[3DM_Z(_"9 MN[OZE6O==;,]Y#N#7787TG 3(5:H]C_&L\EZ'/!_S;['V[XO-Y_L7WWH?N?' MAKLX+XF )O*L$ ; \?]J#PUW5EX1#4[G6 M!0G8QB9VNB;XX_+M6':X M H("05B=OMX& @O'T<^7;:3$JG)=^V54T:W ;-64[R+^S_5X?K^OE-F4#_A, M(R57E?HZ7(:U5@%]^=E7!=#3E8M4_^P@MD#ESQ=[\\?B46^;TH4_3=;O8-<@ MG.ZU/O>+#';A>H 6'EOD<^Z'OA#Z%?WU'4]%S> MLX;,#YU(GDR>DS=NT">L41')]H6'J[[:J8K987(96'5?XJR GAY6&;*F9+^L M9SL8'[[(!TCZ7$0=S]<:[E'O@4K9(H1_:A6/>=+\4Y_X3WWB8;H)__XZ6\7C M7&.]8WBGC7A?6BE7%TM5Z^6IHOI M'Q:,]_+Z^_?;O-5B.?WJ)A]F\[,?$S?YSM$4(MR>G9'#OG. M<'F\'6K:I,V3\4&>,/;^EY]<@0=U\6.^#"]9*&VAS3XWW"/- W5^L 0'5OV? M\_?3\"&WNSA/]TS\-I]FPM_^G(<_Y_DN/4ROSJ;A]^G/Q3(4 $#KC]9A^H?I M=U9.V -C)8=7'Z=K^I]3^IP?<#;^G)O5MN MQ#OP 7]\#_L",#G\:X,YA67@T5J\]>PB9XOSM&;C/*T0?,]&872T_NA@SSR+ M[R&MA#UT&?,=X;?T3L/+<_-VX_LP"2O>WLZF8?%N#O]1"CF%2!CL86D9')55 MQ,"H>O*%Q\">?3>VX^+_//_UI6P5-!%0P]W27:7!?7^2KS\3J#'3J[+C(W,#ITHG=-;9E:Z9>K#5=M MT:W\LK9G)V]GEW$2\]#2-88ZOSC9O.)P]__M]+53+D.7EP$IX;X6ZSREL8=U M/TS+V-K^U8?; MOILK&\AMXS8YS_-I]=__BX6%P7U.BN=0?S?=ONH_ME-/2. M^BWW[@_WA);2XJYU!_,XV^ZN^V4TN"W.OLZ6=E+B^=[SM0;KDM+:YC;*8G@- MG?GEM9U,;K[8<2BDJ$U+#M8/I;V^=DAFZ)JJ?.4.%*ZBQD);X[8U!VMSTE)Q M>V0SM-MY5]!_]O.JV-ZX=='A.I2T]3+WB*[1#E%3BIK6':R]20)<[ MA%7#5GI/:O$-=>O*PS4&Z;*O[A/4X'4^U^/E31YM^"GANL3TE+=[40Y=-CX;)OY8[$Z1%;#W[[-)B#EBV6I2/*P3PW78J1U M[JZ-**O3_^>X_#CUL^^%F=WRHD<:KRAVU M$./ FM^P_63.U\FO,DIO^HU&^JXI^W2@\*HS\O/EMSCOV;XW?Z.1JFM*7!TH MO*&MVKKKB9U_&B^6!:^ZMZ_:2)TUI;/V"FAH!;[<6;IF0K8LV:A:H:9DUF[1 M#)[YO]O\RRMPW]J--%E3*JNAL 94Z=U\\GO'_=-LL:M>J\T8^*=K-U)B+0FL MG>(9W-MYYGEW-;^-"S925TT)J%UB&;I#;7:H,D>%%+9IO4;ZJBEAM$,H-:3X MBTPU>[Q0(P75E.79)(;!G9!9YU+)NS4:Z:.F',PSYNLH\^ZLCD/K56E-:9(* MRU1GT]_ <5D3]BXN_'R\NH8I5*>Z?_E&2JPI =)<9(.?2V&7(^SW73>:K"LPQ QU$$.SY3 M9"Y!4S8*#"EX\:D7L&C9['?KLETRT/?+O8

M\UO29TL-IIN=TMZHE8I>EYY-)AOVDC+M5\\C7.OR_.T]=Y 'R5\>9W+#N8#1WF(^P7S.">0J:J MQ.3&IRL-]G[^4!]N _NUJ.3K>-G9O7ZRU& /X5LJY8D !M;*Q?4D$NP$R5Y- MF/U8QO!A8J\ZJ6?;FH,]U0^$([X?,5AWNYWF8WW"*/*G3U_M>/\;RDJIXM M.-R[]#::VBR-*A3U[OJ6L (JNE]JN%?F;93S7 )5J.4R^NOY>#F.B[.KJ[.? M=CSI_+YAQ[K#O1-OH["=LCF-Z^ OL\G8 P-?YC/?XW7PD\_TOW^G29+U\>+QTJ=A[_^J57!WOU-O3FY:&\AK\,FP3G9]GRS6I M9?+]S;]22?J_HYYWR*__'7W]!_D79Q?Q__ZO_P]02P,$% @ &82B6'#< M#'+]!P 42L !< !G9'EN+3(P,C0P,S,Q>&5X,S$Q+FAT;>U:;7/;N!'^ MWE^!.M.CW+LN,9QU%ZFLG9J:/TKI\Z$ F:J$F"!X"2=;^^SP+4FR5? ME*9)9,TE$T4D%HO=Q8/=!Q#.8YLF%^>QX.'%7\[_6JVR-RHH4I%9%FC!K0A9 M861VQWX)A;EGU6HI=:7RJ99WL67->K/-?E'Z7HZY;[?2)N)BIN?\V#^?'[M! MSD( M^S[&3A/QZB"56346-'ZOW:R==')[-I&AC7N->OUO!T[TXCQ2F<5X&OW]5Z]F M39D5#[;*$WF7]9Q+![[KK#E0B=*]%W7WYXQ:JA%/93+M_3"4J3#L6DS8K4IY M]D/%\,Q4C= R\H)&_BY@$\QSCQ-O\@GT)#(3,Q<:33*Z_Q#+D;2LU:@U5BU> M=ISK._AN58Y>4+MD>X!@"_V=C+_JWPX';P=7E\/!S36[>WPZNKP;O+]^Q M_J_]JX_#P3_[> V)_NV3SNV*,^\_WG[X>'D]9,.;G;?U0__*A;Q5;U+8AS_U MV8?+V]>7U_T/U9M?W_7_Q2ZOAM32K->;_PNL_E,8*Z/I5W>OO=&]086]$RKC M.F3OY-@$L;2_5U@@--G$;,SMRQ>=[MG6CN4\#)'.JHF(;*_9K'4V.NM?R2S$ MS/:J7NP[!:!1F_GV[4=?C5;#!6' 8CX63(NQ%!-4!QM+PWXKN,822*9XGRMM MF3#/8&!CVDTI(K:FP01;4,(&G>SR!S1V;P-?< M8-HP0>F4W6=JDHCP3E3\/):S%RH8D"E0 .CG,F,\F[(BL[H0L!^DP/$#3"MG M*9ZTY F+>(!7FJD4)L@ C.1-H:#)A>!,Y#T MYC!-A7!SC&XA&TV7P[#GN&P]%UP*%LD,,T\@6LQT!:"$.)KU4KO,(J0=;B7T MR"Q(BA Z@::E::T B9)250XP$(X)WTFR &J)$?-H:*R%4)+B"DD4"02 3@4( MN>&,LR?@)F91HB9F!ETM[J2QFF,@3B^]W;"RLH1 ,S-FS=K]!6&C"1"VOQ<( M,?HF$ Y79NSEBVZS<7)F2IB5K(.2B8HBB4*U88= 2R@ /P^)_D,0\^Q. ML$MDK]LB@42CQ:N-SJ$X*5@:* M,!#Y^1CCD"""\ 6LK+WSJ#WD1SL#VT:MW:! 8'N.8&$.747\-, J5*P#7ICM MNU#5' DV'\G7855H*$ >&TOCLB.D1.;T$#U?Y-7EW*Q%PAWZRD*\0%"ES-O4 M*)%C88M1B0S=480I1D:&DFM)#DA/%URUR$A38:B$N\5J7+UWN509 8,LGABL[0[Z*[7NNUU M=&^=W-9 OGU:W!KK6!]C&1*$N<%&E?(_-X _<57"-;:N,XP!]9*/9"+ME.C! MIF%IQ3DX.J3YQ;(BNL1U79EY*!W*"YT#Z<;1F2!0.G0&.-9[)S*PE 2 1XO( M:261"!B]!S56G,R1Z?<;UL'NP'J6M,68)X7+;#3G(HK .^48LV4V\,QPKM_$M"Z%HV O(SLBHQ A4$A29$+)7?#5I392S>T^DJ M=)D BLIS)G;X1)<(T$:^>R1=&HZ]F7"'%G2>D15SNXZ\53$W['I<\>@\W536>0S2J_+V%VD M-D+?9W"7-6X\-XV#'UNES9PNN!=0F:;26B'^H'B,%)VEHSV4L,\I.03"D:L- MU0+\3RQ]MBS%;X6$^6X)%EG@#CJ._MS;?6.:0,=3Q$,E\$>;;-JN!U( ,&6I MG^^Q)H+?4^WV/-!5;\=@W&%,A#=#1BG@&?A&S)>]$% MN ,]K7@"8< >3)$"-8B2Z3S?5:X\FV M/U3[5;2VVK5NL[V5VF,7"!\,A-OD/'MUT#J8=2CAV&OF#ZRQNG()H8\C[H/] M[1>NNW+R!DO!%4;V,Y^R9L7=BYDCL0S$,_?Q]72U].^'5R]?M)%?W.?Z78,5 M7[>$:YVYJKTO\;GFJ=AVWLLNU3BG_P3">DR&=(_O M>6> S9-]%4L1L?Z#" HZ_&(W2QN]-^4VZ2O/_[.%RN:('K[WA\K@96MA/5H/ MY;'C5$N,[#,Q,BYH=&WM6FUO&S<2_MY?P3IH:@.2K%U)?I$= XIC MMP):.W54].[3@5IRO:RYY);D2M;]^ILA5V^6W"B7-I&%!HBL70Z',\.',P\I MGF/DZ+C=:IZ>GK323C.FI[PS/.'1Z7^B/>@*XJ&/=1/)W^SE0M4SCN-WVW'C MN%.XL[%@+NM&S>9W>U[TXCS5RL%X!OJ'KT'-JC)J[D&?TT4WBD&3XX^N3J6X M5UWOXEY0-15/M-2F^ZKI_YUA2SVEN9"3[O<#D7-+;OB8W.FT)!)^;KV3\ MY=7=H'_=O^P-^KL<]OBS/M? M[S[\VKL9D,'MUMOZX>K2A[S5C#'L@Q^OR(?>W=O>S=6'^NV_?KKZ-^E=#K E M;C;_+UC]7EHGTLG?[EY[K7O]&NDI(2%+&.&YVU?H970C&8U&X]B'TEWZ/&U+" MCZ%0N$Q8\D=)#:!?3N!]H8TC6I%K;7(2->N_$)V2'XQ@Y-U$@8V))3]JB6IM MC?15TH )/-WA"8RW; +?4@O3!A.43\B#TF/)V3VOA7FL9H]I,$!I8 .@GPI% MJ)J04CE3&5$G0@ M%U8" 4$N,Q8N P=MP1-O(.HMP#3-P,T1=&-D.%D,PX[CLO52<,E)*A3,/()H M/M,U "6(0[-9:!(;RGG0*TP M8I\,#6N!"51<0XE2@@"@4P.$_'#6VY-0FY%4ZK&=0M?P>V&=H3 0Q9?!;K"R MMH! .S5FQ=K=!6$4 PC;7PN$,/HZ$ Z69NSUJY,X.CZS%I@$<_ MEWU"#?>H 12(H>0XNX0#5(=2V S%42R'1(K)%)^9L(G4MH1^F&*-E@$^A=$) M9_#:DGU "^, OP")J\DQYDK[M2@D34HO6HL\\/?->HP\)3>!3(1E6 M+>HGF.(6T!S0A;9L/%"Z-% * Z&?3S$.$D@0/H.5M;<>M?OT8&M@&S7:$08" M=NH0+)A#7Q$_#K :%NN$EG;S+E@UAYS,1@IU6)<&%$ >&PGKLR-(<>7U(#V? MY]7%W&RXI!Y]52&>(ZA6Y6UL%)!CP1:KI6#^5,*60RN8H$:@ R+0!5\M%&HJ M+99POUBMK_<^EVK+P2 'N1L[%S<=)>1??&R6T%Y)NGQ8VQ#NMC)!A"F%JM*.9_:@'^ MR%41U]2P*<8 ]8(.A11N@O1@W;"XXCP"ZOLP\5@X5I2D Z=;3 MF231AGD#/.N]YPI8B@3 0PLO<"6A"##Z &I8<:* 3+_;L$ZV!];3I,U'5)8^ ML^&<\S0%WBE&,%MV#7^0LVJ25T)LV1 ME:5WB=$B@"^% M:0(>3R$/%8 _W&3C=CT1' !3E?K9'FO,Z0/6[L #??7V#-:?S$Z/JCX)AM5V M*!QQK$F!E$%'RV<9\%G(5KP7N@#N@)[6 H&PP!YLF0-J($K>F:KRK#W4VWUR ML(6;+^0 J8$44P,P<)\5 4[^>+W"72V44*%&6HXXUE%%[ZM?"4R52'E>2#WA MT#K.=,B>= G5@,*_A&0T-L'&$R#,?KUU?@-7R0\!IMS4(?B2%I9WIU_.(.T7 MDDZZ0OD0^DYGE?:A=D[G?H 1U@Y@(M4@?KS07%U<.#UMG'1:>'?!&?C/I@-7 MUQH:_EK#H6.K;9UVH],Z>K:YV8B>;?M3M8W3^/@OU]HZ:L2MS=0>^D"$8$"X M;4'5F[W6WK1#!=!N7#R2:'D*$;-/(QZ"_>67LK^/\@X6AR^5Y&UDF0SLAE>O7[4AX_C/I8L'2VYNB-0F\25\5T)S0W.^Z917Z=.7 MX@(LQ6-<,C5Q.YU>N5[CG?X' TOA&.#5OI>][M?/\V4F>$JN9Y3B-FSX_N8I M?['H6!_$_??A/!GB-X\D\OK>_,BY"NS!:F0//9?ZA*MV:^YZ+O1Z]"AY# 2K?:Y2-W3JO/< /VT-^\_1]02P,$% M @ &82B6#.@SVN%! (14 !< !G9'EN+3(P,C0P,S,Q>&5X,S(Q+FAT M;>U8;4_C1A#^WE\Q#2H'4NSX)2:O(.62T$.BA)*@:S]5&WM-MF=[?;L;B._7 M=W8=\Q9HHTI< 34?K-BS\_+,/#L>;W^ATN2HOZ D.OJA_Z-EP8B'RY1F"D)! MB:(1+"7+KN!S1.47L*SUJB'/"\&N%@H\QVO"9RZ^L&M2RA53"3VJ[/0;Y7V_ M89STYSPJCOH1NP86'=98V#H@Q'>"MN_19BOPVG[+:Q)"6G,_\'WB_^'64!67 MESI2%0D]K*4LLQ94^^\V/;L5Y*IWPR*UZ+J.\U/-+#WJQSQ3Z$^@?OFW-+-I MC(@KM*=XWG4]M*3H2EDD85=9UT"LE::JY2%/N.CN..;7TQ(K)BE+BNZ'&4NI MA#-Z Q<\)=F'NB29M"05+"X72O:-8HSHQ-S>E!!::"=A&:T@N9X&,5XMV)PI M\#W;?8A@N]A#3#X5_U'PP_'%[.3X9#B8G4S.X/SR8GHY.)O!;/(LDM<2N=N& M2WMJ#VV8CHM([C_9MM\.=2*A87+PZO^1B>ZR&\DSJ<4IX1$<$INY;A M@JEO=1@N&(UAO*+A4K%K"I,X9B$5P&/X6; (1D6&P802/O$DPNXKZW"2A3;L MJ06%W9VVYSF](4]SDA7FSNWMUP$-:*!UR)="+@EB51SNL9F&BO&L9#,0"23B MN>[O]Y=7BW0U,!CM;DK$G&146I-50@L8A$I+=#7J*"=&+2W@2\9O$AI=T=V= MH-W;NE YB31 *Z$QIC!XLG3E(Y9%R-.NY;7RE^_(&\4T7-US]RM@W]_]PU2Y M@>TW=2)F6**O2R)P!R<%")IS@07*X)B+%%S'^A5B+DPAUX2YO5]K <7$1O + M$>%B=\<]<'J^6R_?ZO?I=F$L5VR#>)F@NQ!-)@P1WC"U,$8%_;ID@NH7O]0\ MN6/='MD'].P&>]'^+;=P PBFM(7Q*ER0[(I6!',[?A.IU.D!R:)W2B?O==*) M94B1E)BZA6B&H&J$3TW)2AY 3)CF6RZHU*6N:S%)$D UC(8D2 298^UEW6C% M+"-9J)^CP8@9TUA7O6J9E$SA.17&IZS8L2:LO4WU U-%1>8)K:1S+B(J+$QG M0G))N]6?7L1DGI"BRS*3%*/46]N:SYJ=CMUR M6GK<5#ACJJARO)Y$;3.)-E2T*0L"N^.WGQ4[MONL[&_-OHA5OVFWO>969ALF M$64R,-T2RW=8\VN5PIIR72]?@?MP;VH6/LYXF>SOOSG-)\0(B6Q>9=@9"_#* MCGC+Q'4BWCC&C\7#E_7[0+6[TVSUI+ENSEX/L&Y)5T=#KKV;_)R1E&Y;]W4/ M->_7'"/E"4ZG58BO$_3&9X8!_3\1-G,RT^SNC>N6 XO^4XP&VD=7\SE0TS4]V;V)X]C+LWS3TZS\NY-'-B5]"$ M:'\;)WQW3#,R,BYH=&WM6&U3 MXS80_MY?L0U3#F9BQR\Q>8697 @]9EI"29AK/W446T[44RR?K #NK^]*MH%< M0IMVRA68YH,G]FK?GGV\6JN_4$M^TE]0$IU\T__6LN!4A*LE312$DA)%(UAE M+)G#QXAFG\"RRE5#D>:2S1<*/,=KPD5';ZC>*^WS!.^C,1 MY2?]B-T BXYKS MG1]0/GU)4NL!=7^NTW/;@6IZMVR2"VZKN-\5S-+3_JQ2!3ZDZA?_"W,;!HC6%+U3%N%LGG1-BK7"5+4\%%S([IYC?CTML6*R9#SOOINR)P6^PA@D_E?Q3\<'0U/3\['PZFY^,+N+R^FEP/+J8P'3^9R4N)W&W#M3VQ MAS9,1D,3O>L'3OW%QSV8P.!T?#D=G;XJN"N0.\X1C,]@^F$$D\'5^\'%:&*- M?_YA] L,AE,M\1SG'[T&OZTRQ>+\V=-K;DWOO Z#A''LJI)$G-1AN& TAC.6 MD"1DA,,XCEE()8@8OIIPGH0V'*@%A?V]MN<1G.ZOQ>T>SO7*"613M#B M-$;T@JU5*QZQ)$**=BVOE3Y_,]Y>QP/WL$KLZ[M?A\H-;+^I@9ABB3ZOB,27 ME^<@:2HD%BB!,R&7X#K63Q +:0I9$N;^OM0"BL!&\".1X6)_SSUR>KY;+S;T MQW2[,I8KMD&\XN@N1).<88:W3"V,44D_KYBD>L_/-$\>6'= #@$]N\%!='C/ M+1JN)%/:PN@N7)!D3BN"N1V_B53J]( DT1NED_]:L4+ MIHB42N,SJ]A1$M;>I?K!$V./(C-.J_4S(2,J+028DS2CW>I/+V)9RDG>98F! MR2CU2NLSH918&@G8[=#GP]>RH<.%54.2['4MN,I0T5 M;U_Q:I5"2 ML.NE=^"NEU#S\DO$"["__NMJOB=.D=IF<\->F8-7],A[;I9 O/(:Z-HBMI;DC4QV=;>W-0'-!EG37DI?MTVRV*48J.(ZJ58@O,^F- MSPV3]/\<6(-CJH]F7O=[O[W.3WQF/7/)7RT[MH-X<"D9PI[B);,/,4G_CZ&'+6=TCK2^.^U*1F5FR*RG'V?&&;AP /O0N,\4Y M#RIDA@ULI395_N+,L+P6)Y@-^_0\ "FJ 1 " <>Z 0!G9'EN M+3(P,C0P,S,Q+GAS9%!+ 0(4 Q0 ( !B$HEB4A]]* L=0, %0 @ &2Y@$ 9V1Y;BTR,#(T M,#,S,5]D968N>&UL4$L! A0#% @ &(2B6+[.I_(6] S;0) !4 M ( !I#$" &=D>6XM,C R-# S,S%?;&%B+GAM;%!+ 0(4 Q0 ( M !F$HEACJ+C?-8\ *S,!@ 5 " >TE P!G9'EN+3(P,C0P M,S,Q7W!R92YX;6Q02P$"% ,4 " 9A*)8<-P,#,Q,2YH=&U02P$"% ,4 M" 9A*)8XW=@K_L' " *P %P @ &'O0, 9V1Y;BTR,#(T M,#,S,7AE>#,Q,BYH=&U02P$"% ,4 " 9A*)8,Z#/:X4$ A%0 %P M @ &WQ0, 9V1Y;BTR,#(T,#,S,7AE>#,R,2YH=&U02P$"% ,4 M " 9A*)8^R.YSG\$ ! %0 %P @ %QR@, 9V1Y;BTR G,#(T,#,S,7AE>#,R,BYH=&U02P4& H "@"> @ )<\# end XML 91 gdyn-20240331_htm.xml IDEA: XBRL DOCUMENT 0001743725 2024-01-01 2024-03-31 0001743725 2024-04-29 0001743725 2024-03-31 0001743725 2023-12-31 0001743725 2023-01-01 2023-03-31 0001743725 us-gaap:CommonStockMember 2023-12-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001743725 us-gaap:RetainedEarningsMember 2023-12-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001743725 us-gaap:RetainedEarningsMember 2024-01-01 2024-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-03-31 0001743725 us-gaap:CommonStockMember 2024-01-01 2024-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-03-31 0001743725 us-gaap:CommonStockMember 2024-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2024-03-31 0001743725 us-gaap:RetainedEarningsMember 2024-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-03-31 0001743725 us-gaap:CommonStockMember 2022-12-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001743725 us-gaap:RetainedEarningsMember 2022-12-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001743725 2022-12-31 0001743725 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001743725 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-03-31 0001743725 us-gaap:CommonStockMember 2023-03-31 0001743725 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001743725 us-gaap:RetainedEarningsMember 2023-03-31 0001743725 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-03-31 0001743725 2023-03-31 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-03-31 0001743725 us-gaap:PerformanceSharesMember 2024-01-01 2024-03-31 0001743725 srt:ScenarioPreviouslyReportedMember srt:NorthAmericaMember 2023-01-01 2023-03-31 0001743725 srt:NorthAmericaMember 2023-01-01 2023-03-31 0001743725 srt:ScenarioPreviouslyReportedMember srt:EuropeMember 2023-01-01 2023-03-31 0001743725 srt:EuropeMember 2023-01-01 2023-03-31 0001743725 srt:ScenarioPreviouslyReportedMember gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember 2023-01-01 2023-03-31 0001743725 gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember 2023-01-01 2023-03-31 0001743725 srt:ScenarioPreviouslyReportedMember 2023-01-01 2023-03-31 0001743725 gdyn:NextSphereTechnologiesIncMember 2023-04-18 0001743725 gdyn:NextSphereTechnologiesIncMember 2023-04-18 2023-04-18 0001743725 gdyn:MutualMobileIncMember 2022-12-23 0001743725 gdyn:MutualMobileIncMember 2022-12-23 2022-12-23 0001743725 gdyn:NextSphereTechnologiesIncMember 2023-10-01 2023-12-31 0001743725 gdyn:MutualMobileIncMember 2023-10-01 2023-12-31 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:CustomerRelationshipsMember 2024-03-31 0001743725 gdyn:MutualMobileIncMember us-gaap:CustomerRelationshipsMember 2024-03-31 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:ComputerSoftwareIntangibleAssetMember 2024-03-31 0001743725 gdyn:MutualMobileIncMember us-gaap:ComputerSoftwareIntangibleAssetMember 2024-03-31 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:TradeNamesMember 2024-03-31 0001743725 gdyn:MutualMobileIncMember us-gaap:TradeNamesMember 2024-03-31 0001743725 gdyn:NextSphereTechnologiesIncMember us-gaap:NoncompeteAgreementsMember 2024-03-31 0001743725 gdyn:MutualMobileIncMember us-gaap:NoncompeteAgreementsMember 2024-03-31 0001743725 gdyn:NextSphereTechnologiesIncMember 2024-03-31 0001743725 gdyn:MutualMobileIncMember 2024-03-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:CarryingReportedAmountFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:BankTimeDepositsMember us-gaap:CarryingReportedAmountFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:BankTimeDepositsMember us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:BankTimeDepositsMember us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:BankTimeDepositsMember us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:BankTimeDepositsMember us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:CarryingReportedAmountFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2024-03-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:CarryingReportedAmountFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:MoneyMarketFundsMember us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:CarryingReportedAmountFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel1Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel2Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 us-gaap:EquitySecuritiesMember us-gaap:FairValueInputsLevel3Member us-gaap:EstimateOfFairValueFairValueDisclosureMember 2023-12-31 0001743725 srt:MinimumMember us-gaap:ComputerEquipmentMember 2024-03-31 0001743725 srt:MaximumMember us-gaap:ComputerEquipmentMember 2024-03-31 0001743725 us-gaap:ComputerEquipmentMember 2024-03-31 0001743725 us-gaap:ComputerEquipmentMember 2023-12-31 0001743725 srt:MinimumMember us-gaap:FurnitureAndFixturesMember 2024-03-31 0001743725 srt:MaximumMember us-gaap:FurnitureAndFixturesMember 2024-03-31 0001743725 us-gaap:FurnitureAndFixturesMember 2024-03-31 0001743725 us-gaap:FurnitureAndFixturesMember 2023-12-31 0001743725 srt:MinimumMember us-gaap:LeaseholdImprovementsMember 2024-03-31 0001743725 srt:MaximumMember us-gaap:LeaseholdImprovementsMember 2024-03-31 0001743725 us-gaap:LeaseholdImprovementsMember 2024-03-31 0001743725 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001743725 srt:MinimumMember us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2024-03-31 0001743725 srt:MaximumMember us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2024-03-31 0001743725 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2024-03-31 0001743725 us-gaap:SoftwareAndSoftwareDevelopmentCostsMember 2023-12-31 0001743725 srt:MinimumMember us-gaap:AutomobilesMember 2024-03-31 0001743725 srt:MaximumMember us-gaap:AutomobilesMember 2024-03-31 0001743725 us-gaap:AutomobilesMember 2024-03-31 0001743725 us-gaap:AutomobilesMember 2023-12-31 0001743725 gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember 2024-03-31 0001743725 gdyn:PropertyPlantAndEquipmentExcludingCapitalizedSoftwareCostsMember 2023-12-31 0001743725 us-gaap:SoftwareDevelopmentMember 2024-03-31 0001743725 us-gaap:SoftwareDevelopmentMember 2023-12-31 0001743725 srt:MinimumMember us-gaap:CustomerRelationshipsMember 2024-03-31 0001743725 srt:MaximumMember us-gaap:CustomerRelationshipsMember 2024-03-31 0001743725 us-gaap:CustomerRelationshipsMember 2024-03-31 0001743725 us-gaap:CustomerRelationshipsMember 2023-12-31 0001743725 srt:MinimumMember us-gaap:TrademarksAndTradeNamesMember 2024-03-31 0001743725 srt:MaximumMember us-gaap:TrademarksAndTradeNamesMember 2024-03-31 0001743725 us-gaap:TrademarksAndTradeNamesMember 2024-03-31 0001743725 us-gaap:TrademarksAndTradeNamesMember 2023-12-31 0001743725 us-gaap:ComputerSoftwareIntangibleAssetMember 2024-03-31 0001743725 us-gaap:ComputerSoftwareIntangibleAssetMember 2023-12-31 0001743725 us-gaap:NoncompeteAgreementsMember 2024-03-31 0001743725 us-gaap:NoncompeteAgreementsMember 2023-12-31 0001743725 us-gaap:RelatedPartyMember 2023-12-31 0001743725 us-gaap:RelatedPartyMember 2024-03-31 0001743725 us-gaap:RevolvingCreditFacilityMember 2022-03-15 0001743725 us-gaap:LetterOfCreditMember 2022-03-15 0001743725 srt:MinimumMember us-gaap:BaseRateMember 2022-03-15 2022-03-15 0001743725 srt:MaximumMember us-gaap:BaseRateMember 2022-03-15 2022-03-15 0001743725 srt:MinimumMember gdyn:SOFROrAdjustedEURIBORRateMember 2022-03-15 2022-03-15 0001743725 srt:MaximumMember gdyn:SOFROrAdjustedEURIBORRateMember 2022-03-15 2022-03-15 0001743725 srt:MinimumMember gdyn:DailySimpleSOFRSONIAOrSARONMember 2022-03-15 2022-03-15 0001743725 srt:MaximumMember gdyn:DailySimpleSOFRSONIAOrSARONMember 2022-03-15 2022-03-15 0001743725 srt:NorthAmericaMember 2024-01-01 2024-03-31 0001743725 srt:EuropeMember 2024-01-01 2024-03-31 0001743725 gdyn:OtherGeographicRegionsNotIndividuallyDisclosedMember 2024-01-01 2024-03-31 0001743725 us-gaap:RetailMember 2024-01-01 2024-03-31 0001743725 us-gaap:RetailMember 2023-01-01 2023-03-31 0001743725 gdyn:TechnologyMediaAndTelecomMember 2024-01-01 2024-03-31 0001743725 gdyn:TechnologyMediaAndTelecomMember 2023-01-01 2023-03-31 0001743725 us-gaap:FinancialServiceMember 2024-01-01 2024-03-31 0001743725 us-gaap:FinancialServiceMember 2023-01-01 2023-03-31 0001743725 us-gaap:ManufacturedProductOtherMember 2024-01-01 2024-03-31 0001743725 us-gaap:ManufacturedProductOtherMember 2023-01-01 2023-03-31 0001743725 us-gaap:HealthCareMember 2024-01-01 2024-03-31 0001743725 us-gaap:HealthCareMember 2023-01-01 2023-03-31 0001743725 us-gaap:ProductAndServiceOtherMember 2024-01-01 2024-03-31 0001743725 us-gaap:ProductAndServiceOtherMember 2023-01-01 2023-03-31 0001743725 us-gaap:TimeAndMaterialsContractMember 2024-01-01 2024-03-31 0001743725 us-gaap:TimeAndMaterialsContractMember 2023-01-01 2023-03-31 0001743725 us-gaap:FixedPriceContractMember 2024-01-01 2024-03-31 0001743725 us-gaap:FixedPriceContractMember 2023-01-01 2023-03-31 0001743725 gdyn:OtherRevenueMember 2024-01-01 2024-03-31 0001743725 gdyn:OtherRevenueMember 2023-01-01 2023-03-31 0001743725 2024-04-01 2024-03-31 0001743725 2025-01-01 2024-03-31 0001743725 gdyn:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-03-31 0001743725 gdyn:CustomerOneMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-03-31 0001743725 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2024-03-31 0001743725 us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2023-12-31 0001743725 gdyn:UnbilledReceivablesMember us-gaap:CustomerConcentrationRiskMember 2024-03-31 0001743725 gdyn:UnbilledReceivablesMember us-gaap:CustomerConcentrationRiskMember 2023-12-31 0001743725 us-gaap:RelatedPartyMember 2024-01-01 2024-03-31 0001743725 us-gaap:RelatedPartyMember 2023-01-01 2023-03-31 0001743725 srt:MinimumMember 2024-03-31 0001743725 srt:MaximumMember 2024-03-31 0001743725 us-gaap:CostOfSalesMember 2024-01-01 2024-03-31 0001743725 us-gaap:CostOfSalesMember 2023-01-01 2023-03-31 0001743725 us-gaap:ResearchAndDevelopmentExpenseMember 2024-01-01 2024-03-31 0001743725 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-03-31 0001743725 us-gaap:SellingAndMarketingExpenseMember 2024-01-01 2024-03-31 0001743725 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-03-31 0001743725 us-gaap:GeneralAndAdministrativeExpenseMember 2024-01-01 2024-03-31 0001743725 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-03-31 0001743725 gdyn:A2018StockPlanMember 2023-12-31 0001743725 gdyn:A2018StockPlanMember 2024-01-01 2024-03-31 0001743725 gdyn:A2018StockPlanMember 2024-03-31 0001743725 gdyn:A2020EquityIncentivePlanMember 2024-03-31 0001743725 gdyn:A2020EquityIncentivePlanMember 2023-12-31 0001743725 gdyn:A2020EquityIncentivePlanMember 2024-01-01 2024-03-31 0001743725 us-gaap:EmployeeStockOptionMember gdyn:A2020EquityIncentivePlanMember 2024-01-01 2024-03-31 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2023-12-31 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2024-03-31 0001743725 us-gaap:PerformanceSharesMember 2023-12-31 0001743725 us-gaap:PerformanceSharesMember 2024-03-31 0001743725 gdyn:Year2024Member 2024-01-01 2024-03-31 0001743725 us-gaap:EmployeeStockOptionMember 2024-01-01 2024-03-31 0001743725 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-03-31 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2024-01-01 2024-03-31 0001743725 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-03-31 0001743725 us-gaap:PerformanceSharesMember 2024-01-01 2024-03-31 0001743725 us-gaap:PerformanceSharesMember 2023-01-01 2023-03-31 0001743725 country:US 2024-01-01 2024-03-31 0001743725 country:US 2023-01-01 2023-03-31 0001743725 country:GB 2024-01-01 2024-03-31 0001743725 country:GB 2023-01-01 2023-03-31 0001743725 country:NL 2024-01-01 2024-03-31 0001743725 country:NL 2023-01-01 2023-03-31 0001743725 gdyn:OtherCountriesNotSeparatelyDisclosedMember 2024-01-01 2024-03-31 0001743725 gdyn:OtherCountriesNotSeparatelyDisclosedMember 2023-01-01 2023-03-31 0001743725 country:RS 2024-03-31 0001743725 country:RS 2023-12-31 0001743725 country:US 2024-03-31 0001743725 country:US 2023-12-31 0001743725 country:UA 2024-03-31 0001743725 country:UA 2023-12-31 0001743725 country:PL 2024-03-31 0001743725 country:PL 2023-12-31 0001743725 gdyn:OtherCountriesNotSeparatelyDisclosedMember 2024-03-31 0001743725 gdyn:OtherCountriesNotSeparatelyDisclosedMember 2023-12-31 shares iso4217:USD iso4217:USD shares pure gdyn:employee gdyn:customer gdyn:segment --12-31 false 0001743725 2024 Q1 1 1 0.503 0.497 P9M P1Y 1 1 1 1 10-Q true 2024-03-31 false 001-38685 Grid Dynamics Holdings, Inc. DE 83-0632724 5000 Executive Parkway Suite 520 San Ramon CA 94583 650 523-5000 Common Stock, par value $0.0001 per share GDYN NASDAQ Yes Yes Accelerated Filer false false false 76521182 249437000 257227000 1389000 1363000 53039000 49824000 5649000 3735000 5609000 3998000 8768000 9196000 322502000 323980000 12552000 11358000 10214000 10446000 25531000 26546000 53868000 53868000 7220000 6418000 3374000 2549000 435261000 435165000 2935000 3621000 19914000 19263000 9895000 8828000 4491000 4235000 5885000 6276000 43120000 42223000 3164000 3274000 6166000 6761000 52450000 52258000 0.0001 0.0001 110000000 110000000 76521182 76521182 75887475 75887475 8000 8000 401541000 397511000 -19834000 -15886000 1096000 1274000 382811000 382907000 435261000 435165000 79817000 80080000 52152000 51505000 27665000 28575000 4372000 4203000 7292000 5634000 21543000 24730000 33207000 34567000 -5542000 -5992000 2525000 1682000 -3017000 -4310000 931000 3660000 -3948000 -7970000 -178000 495000 -4126000 -7475000 -0.05 -0.11 -0.05 -0.11 76151000 74459000 76151000 74459000 75887000 8000 397511000 -15886000 1274000 382907000 -3948000 -3948000 11339000 11339000 69000 260000 260000 565000 -7569000 -7569000 -178000 -178000 76521000 8000 401541000 -19834000 1096000 382811000 74156000 7000 378006000 -14121000 -848000 363044000 -7970000 -7970000 13257000 13257000 1000 10000 10000 739000 -8951000 -8951000 495000 495000 74896000 7000 382322000 -22091000 -353000 359885000 -3948000 -7970000 2914000 1645000 998000 650000 86000 20000 -912000 -923000 11339000 13257000 287000 -23000 3301000 2613000 1914000 921000 1611000 1639000 -382000 368000 -728000 -691000 651000 6054000 -1105000 -462000 1067000 3306000 -391000 2306000 3240000 11674000 3197000 1589000 739000 0 -3936000 -1589000 571000 10000 7569000 8951000 -6998000 -8941000 -96000 495000 -7790000 1639000 257227000 256729000 249437000 258368000 2495000 2926000 Nature of operations and summary of significant accounting policies<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Grid Dynamics Holdings, Inc. (the “Company”) is a leading provider of technology consulting, platform and product engineering, and advanced analytics services. The Company’s core business includes cloud platform and product engineering, supply chain and advanced manufacturing, and data and machine learning platform engineering. Grid Dynamics also helps organizations become more agile and create innovative digital products and experiences through its deep expertise in emerging technology, such as artificial intelligence (“AI”), data science, cloud computing, big data and DevOps, lean software development practices and a high-performance product culture. The Company’s headquarters and principal place of business is in San Ramon, California.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following is a summary of critical accounting policies consistently applied in the preparation of the accompanying unaudited condensed consolidated financial statements. Full description of significant accounting policies is provided in our Annual Report on Form 10-K for the fiscal year ended December 31, 2023, as filed with the SEC on February 29, 2024. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2023 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 29, 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Principles of consolidation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of March 31, 2024. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation. There was minimal activity in the Affiliate during the three months ended March 31, 2024.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the unaudited condensed consolidated financial statements in accordance with the U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, valuation of stock-based compensation and contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Allowance for credit losses</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company maintains an allowance against accounts receivable for the estimated probable losses on uncollectible accounts. The allowance is based upon historical loss experience, as adjusted for the current market conditions and forecasts about future economic conditions. As of March 31, 2024 and December 31, 2023 the Company recorded $1.4 million of allowance for credit losses. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes the cost of its stock-based awards based on the fair value of these awards at the date of grant. The fair value of service-based and performance based awards without market conditions at the date of grant is based on the closing price of the Company’s shares on NASDAQ. For performance awards with market conditions the grant date fair value is measured using the Monte-Carlo model. Grant-date fair value of stock options is estimated using the Black-Scholes-Merton option pricing model. The model requires management to make a number of key assumptions including expected volatility, expected term, risk-free interest rate, and expected dividends. The Company evaluates the assumptions used to value its share-based awards on each grant date. For an award with graded vesting that is subject only to a service condition (e.g., time-based vesting), the Company uses the straight-line attribution method under ASC Topic 718 under which it recognizes compensation cost on a straight-line basis over the total requisite service period for the entire award (i.e., over the requisite service period of the last separately-vesting tranche of the award). For awards with performance conditions the compensation cost recognized is based on the actual or expected achievement of the performance condition based on the graded attribution method. Additionally, the Company applies the “floor” concept so that the amount of compensation cost that is recognized as of any date is at least equal to the grant-date fair value of the vested portion of the award on that date. That is, if the straight-line expense recognized to date is less than the grant date fair value of the award that is legally vested at that date, the company will increase its recognized expense to at least equal the fair value of the vested amount. The requisite service period, which is the vesting period, of service-based and performance-based awards is typically 4 years and 3 years, respectively. The Company made an accounting policy election to account for forfeitures when they occur.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Prior period reclassifications</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presented and analyzed its revenues by customer locations attributing revenues based upon billed customer location. Effective December 31, 2023, the Company attributes revenues to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. The Company believes this change allows it to more effectively analyze its geographies and associated risks. This change did not result in any adjustments to our previously issued financial statements and were applied retrospectively beginning on January 1, 2021. Comparative information for the three months ended March 31, 2023 is presented in the following table:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.215%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.303%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.452%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reported</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reclassified</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Customer Location</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,949 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,137 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,894 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,908 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,035 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no recently adopted accounting standards which had a material impact on the Company’s consolidated financial position, results of operations, changes in stockholders’ equity and cash flows.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently issued accounting pronouncements</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 2023, the FASB issued ASU 2023-07, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(Topic 280) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">—</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Improvements to Reportable Segment Disclosures, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that expands disclosures requirements around significant segment expenses and other segment items that are included in reported measure of segment profit or loss. The guidance also requires entities to provide in their interim financial reports all disclosures about a reportable segment’s profit or loss and assets that are currently required only on annual basis. Guidance also obliges entities with a single reportable segment to provide all the disclosures under amended ASC 280 in their interim and annual financial statement. The new guidance is effective for annual reporting periods beginning after December 15, 2023, and interim reporting periods within fiscal years beginning after December 15, 2024 on a retrospective basis, The Company is currently evaluating the impact on this guidance on its consolidated financial statements.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 14, 2023, the FASB issued ASU 2023-09, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Improvements to Income Tax Disclosures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (Topic 740) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">— </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Improvements to Income Tax Disclosures, which expands annual disclosure requirements around income taxes primarily related to the rate reconciliation and income taxes paid. The new guidance is effective for annual reporting periods beginning after December 15, 2024 with early adoption permitted. The guidance will be applied on a prospective basis with a retrospective application option. The Company is currently evaluating the impact on this guidance on its consolidated financial statements.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Grid Dynamics Holdings, Inc. (the “Company”) is a leading provider of technology consulting, platform and product engineering, and advanced analytics services. The Company’s core business includes cloud platform and product engineering, supply chain and advanced manufacturing, and data and machine learning platform engineering. Grid Dynamics also helps organizations become more agile and create innovative digital products and experiences through its deep expertise in emerging technology, such as artificial intelligence (“AI”), data science, cloud computing, big data and DevOps, lean software development practices and a high-performance product culture. The Company’s headquarters and principal place of business is in San Ramon, California.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Basis of presentation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements have been prepared in accordance with generally accepted accounting principles in the United States (“U.S. GAAP”) for interim financial information and in accordance with the rules and regulations of the Securities and Exchange Commission (“SEC”). Accordingly, they do not include all of the information and footnotes required by U.S. GAAP for complete financial statements. The unaudited condensed consolidated financial statements reflect all normal and recurring adjustments that are, in the opinion of the Company’s management, necessary for the fair presentation of the results of operations for the interim periods. Operating results for the three months ended March 31, 2024 are not necessarily indicative of the results that may be expected for the year ending December 31, 2024. These interim financial statements should be read in conjunction with the Company’s audited financial statements for the year ended December 31, 2023 included in the Company’s annual report on Form 10-K that the Company filed with the SEC on February 29, 2024.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Principles of consolidation</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The accompanying unaudited condensed consolidated financial statements include the accounts of the Company and all of its subsidiaries that are directly or indirectly owned or controlled. Intercompany transactions and balances have been eliminated upon consolidation.</span></div> <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company provides services to its customers utilizing its own personnel as well as personnel from subcontractors. One of the subcontractors exclusively supports and performs services on behalf of the Company and its customers. The Company had no ownership in this subcontractor (“Affiliate”) as of March 31, 2024. The Company is required to apply accounting standards which address how a business enterprise should evaluate whether it has a controlling financial interest in a variable interest entity (“VIE”) through means other than voting rights and accordingly should determine whether or not to consolidate the entity. The Company has determined that it is required to consolidate the Affiliate because the Company has the power to direct the VIE’s most significant activities and is the primary beneficiary of the Affiliate. The assets and liabilities of the Affiliate primarily consist of inter-company balances and transactions all of which have been eliminated in consolidation. There was minimal activity in the Affiliate during the three months ended March 31, 2024.</span></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Use of estimates</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The preparation of the unaudited condensed consolidated financial statements in accordance with the U.S. GAAP requires the Company to make estimates and assumptions that affect the amounts reported in the unaudited condensed consolidated financial statements and accompanying notes. Actual results could differ from these estimates and such differences could be material. Significant estimates include determination of fair value, useful lives and recoverability of intangible assets and goodwill, valuation of stock-based compensation and contingent consideration payable, determination of provision for income taxes, deferred tax assets and liabilities and uncertain tax positions.</span></div> <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Allowance for credit losses</span></div>The Company maintains an allowance against accounts receivable for the estimated probable losses on uncollectible accounts. The allowance is based upon historical loss experience, as adjusted for the current market conditions and forecasts about future economic conditions. 1400000 1400000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock-based compensation</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recognizes the cost of its stock-based awards based on the fair value of these awards at the date of grant. The fair value of service-based and performance based awards without market conditions at the date of grant is based on the closing price of the Company’s shares on NASDAQ. For performance awards with market conditions the grant date fair value is measured using the Monte-Carlo model. Grant-date fair value of stock options is estimated using the Black-Scholes-Merton option pricing model. The model requires management to make a number of key assumptions including expected volatility, expected term, risk-free interest rate, and expected dividends. The Company evaluates the assumptions used to value its share-based awards on each grant date. For an award with graded vesting that is subject only to a service condition (e.g., time-based vesting), the Company uses the straight-line attribution method under ASC Topic 718 under which it recognizes compensation cost on a straight-line basis over the total requisite service period for the entire award (i.e., over the requisite service period of the last separately-vesting tranche of the award). For awards with performance conditions the compensation cost recognized is based on the actual or expected achievement of the performance condition based on the graded attribution method. Additionally, the Company applies the “floor” concept so that the amount of compensation cost that is recognized as of any date is at least equal to the grant-date fair value of the vested portion of the award on that date. That is, if the straight-line expense recognized to date is less than the grant date fair value of the award that is legally vested at that date, the company will increase its recognized expense to at least equal the fair value of the vested amount. The requisite service period, which is the vesting period, of service-based and performance-based awards is typically 4 years and 3 years, respectively. The Company made an accounting policy election to account for forfeitures when they occur.</span></div> P4Y P3Y <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Prior period reclassifications</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company presented and analyzed its revenues by customer locations attributing revenues based upon billed customer location. Effective December 31, 2023, the Company attributes revenues to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. The Company believes this change allows it to more effectively analyze its geographies and associated risks. This change did not result in any adjustments to our previously issued financial statements and were applied retrospectively beginning on January 1, 2021. Comparative information for the three months ended March 31, 2023 is presented in the following table:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.215%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.303%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.452%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reported</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reclassified</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Customer Location</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,949 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,137 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,894 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,908 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,035 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> Comparative information for the three months ended March 31, 2023 is presented in the following table:<div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:75.215%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.303%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:10.452%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As reported</span></div></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Reclassified</span></div></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Customer Location</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,949 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,137 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,894 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,908 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">237 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,035 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 63949000 60137000 15894000 15908000 237000 4035000 80080000 80080000 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently adopted accounting pronouncements</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Changes to U.S. GAAP are established by the Financial Accounting Standards Board (the “FASB”), in the form of Accounting Standards Updates (“ASUs”), to the FASB’s ASC. The Company will adopt according these changes according to the various timetables the FASB specifies. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no recently adopted accounting standards which had a material impact on the Company’s consolidated financial position, results of operations, changes in stockholders’ equity and cash flows.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Recently issued accounting pronouncements</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On November 2023, the FASB issued ASU 2023-07, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(Topic 280) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">—</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Improvements to Reportable Segment Disclosures, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">that expands disclosures requirements around significant segment expenses and other segment items that are included in reported measure of segment profit or loss. The guidance also requires entities to provide in their interim financial reports all disclosures about a reportable segment’s profit or loss and assets that are currently required only on annual basis. Guidance also obliges entities with a single reportable segment to provide all the disclosures under amended ASC 280 in their interim and annual financial statement. The new guidance is effective for annual reporting periods beginning after December 15, 2023, and interim reporting periods within fiscal years beginning after December 15, 2024 on a retrospective basis, The Company is currently evaluating the impact on this guidance on its consolidated financial statements.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">On December 14, 2023, the FASB issued ASU 2023-09, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Improvements to Income Tax Disclosures</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> (Topic 740) </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">— </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Improvements to Income Tax Disclosures, which expands annual disclosure requirements around income taxes primarily related to the rate reconciliation and income taxes paid. The new guidance is effective for annual reporting periods beginning after December 15, 2024 with early adoption permitted. The guidance will be applied on a prospective basis with a retrospective application option. The Company is currently evaluating the impact on this guidance on its consolidated financial statements.</span></div> Acquisitions<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">NextSphere </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">— On April 18, 2023, the Company completed the acquisition of 100% of NextSphere Technologies, Inc. (“NextSphere”). Founded in 2006, NextSphere is headquartered in Tampa, FL, has an engineering presence in Phoenix, AZ, and operates two large engineering centers in India’s tech hubs of Hyderabad and Chennai. NextSphere specializes in modern application development, systems monetization, product development, cloud and infrastructure services, and quality assurance. Over the years, NextSphere has worked with several brands across numerous industry verticals with expertise in Healthcare, Fintech, and CPG/Manufacturing industries. The Company believes this acquisition will support the Company’s objectives of enhancing its technical capabilities, expanding its global footprint, and increasing its client base. The total purchase consideration is $25.2 million and consists of cash consideration of $24.3 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $0.9 million. The maximum amount of potential contingent cash consideration is $2.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by NextSphere within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. During the third quarter of 2023 the Company concluded that NextSphere was not going to achieve required performance metrics and has written-off all related contingent consideration liability. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Mutual Mobile</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> — On December 23, 2022, the Company acquired 100% of the equity interest of the software company Mutual Mobile Inc. (“Mutual Mobile”). Founded in 2009, Mutual Mobile is based in the United States and India, offers end-to-end design and development of next-generation applications, combining mobile, augmented/virtual/mixed reality, and cloud edge/IoT practices. The acquisition of Mutual Mobile added approximately 180 employees to the Company’s headcount. The acquisition will accelerate Company’s strategic expansion into the India engineering market and further solidifies Grid Dynamics’ commitment to global growth. The total purchase consideration is $16.1 million and consists of cash consideration of $12.8 million paid at closing, and fair value of the contingent consideration at the date of the acquisition of $3.3 million. The maximum amount of potential contingent cash consideration is $5.0 million. The contingent consideration is payable based on revenue and gross profit metrics to be achieved by Mutual Mobile within 12 months. The Company recorded a liability for the contingent consideration amount based on the Company’s best estimate of the fair value of the expected payout. During the third quarter of 2023 the Company concluded that Mutual Mobile was not going to achieve required performance metrics and has written-off all related contingent consideration liability. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,906 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,749 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,031 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,879 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">511 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total assets acquired</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">29,348</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">17,844</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable, accrued expenses and other 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,990)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,576)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,427)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(686)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total liabilities assumed</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4,417)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2,262)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Purchase price allocation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,931</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">15,582</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Current assets acquired include cash and cash equivalents in the amount of $6.4 million for NextSphere and $3.5 million for Mutual Mobile. The purchase price for all acquisitions was assigned to assets acquired and liabilities assumed based on their estimated fair values as of the date of acquisition, and any excess was allocated to goodwill, as shown in the table above. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The goodwill recognized as a result of the NextSphere acquisition represents the value the Company expects to achieve through the implementation of operational synergies and growth opportunities as the Company expands its global reach as well as the assembled workforce acquired. The goodwill is not deductible for income tax purposes. The goodwill recognized as a result of the Mutual Mobile acquisition is attributable to synergies expected to be achieved by combining the businesses of the Company and Mutual Mobile, expected future contracts, the assembled workforce acquired and other factors. The goodwill is not deductible for income tax purposes.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the fourth quarter of 2023, the Company finalized working capital adjustment for NextSphere that resulted in a decrease of original purchase price in the amount of $0.3 million and updated fair value of deferred taxes by $0.2 million. These adjustments resulted in a corresponding net change in goodwill by $0.1 million. The Company then finalized the fair value of the assets acquired and liabilities assumed in the acquisition of NextSphere. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the fourth quarter of 2023, the Company finalized working capital adjustment for Mutual Mobile which reduced the original purchase price by $0.5 million and decreased fair value of deferred taxes by $0.2 million. These adjustments resulted in a corresponding net change in goodwill by $0.7 million. The Company then finalized the fair value of the assets acquired and liabilities assumed in the acquisition of Mutual Mobile.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of March 31, 2024 are as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="21" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except years)</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,415 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,453 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.5 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total identified intangible assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,906</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,749</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company used the acquisition method of accounting for all acquisitions, and consequently, the results of operations for all acquisitions are reported in the consolidated financial statements from the dates of acquisition. Pro forma results of operations have not been presented because the effect of the acquisitions on the Company’s condensed consolidated financial statements was not material individually or in the aggregate.</span></div> 1 25200000 24300000 900000 2000000 P12M 1 180 16100000 12800000 3300000 5000000 P12M <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes the estimated fair values of the assets acquired and liabilities assumed:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Current assets</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,708 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,982 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Property, plant and equipment</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">192 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">132 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Intangible assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,906 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,749 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Goodwill</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,031 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,879 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other noncurrent assets</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">511 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total assets acquired</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">29,348</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">17,844</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts payable, accrued expenses and other 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,990)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,576)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred taxes</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(2,427)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(686)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total liabilities assumed</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(4,417)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(2,262)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Purchase price allocation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">24,931</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">15,582</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 9708000 4982000 192000 132000 9906000 3749000 9031000 8879000 511000 102000 29348000 17844000 1990000 1576000 2427000 686000 4417000 2262000 24931000 15582000 6400000 3500000 -300000 -200000 -100000 -500000 200000 -700000 -700000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The estimated fair value, useful lives and amortization methods of identifiable intangible assets as of the date of acquisition updated for any changes as of March 31, 2024 are as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:45.829%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.624%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">NextSphere</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Mutual Mobile</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value</span></td><td colspan="3" style="border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Useful Life</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="21" style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, except years)</span></div></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer relationships</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,415 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10 years</span></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,453 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Acquired software</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2.5 years</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Trade name</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">496 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">152 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4 years</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-compete agreements</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">—</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">144 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2 years</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 14.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total identified intangible assets</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">9,906</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,749</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr></table></div> 8415000 P10Y 3453000 P8Y 995000 P2Y6M 0 496000 P2Y 152000 P4Y 0 144000 P2Y 9906000 3749000 Fair value <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Estimates of fair value of financial instruments not carried at fair value on a recurring basis are generally subjective in nature, and are determined as of a specific point in time based on the characteristics of the financial instruments and relevant market information. The Company’s financial assets and liabilities, are generally short-term in nature; therefore, the carrying value of these items approximates their fair value. The following table summarizes certain fair value information as of March 31, 2024 and December 31, 2023 for financial assets and liabilities measured at fair value on a recurring basis, as well as estimated fair values of certain other financial assets and liabilities not measured on a recurring basis:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.872%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value Hierarchy</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:25.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term investments:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 26.5pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Time deposits</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term investments:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable equity securities</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable equity securities</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:25.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term investments:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable equity securities</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable equity securities</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Investments in equity securities</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company holds investments in public and privately-held entities. As the Company does not have either controlling interest or significant influence over these entities investments are accounted using two different methods depending on the type of equity investments:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Equity investments in public entities are measured and carried at fair value with any changes recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Equity investments that do not have readily determinable fair value are accounted for under the fair value measurement alternative. Under the measurement alternative, the carrying value is measured at cost, less any impairment, plus or minus changes resulting from observable price changes in orderly transactions for identical or similar investments of the same issuer. All gains and losses on non-marketable securities, whether realized or unrealized, are recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company classifies its investments in equity securities in Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets. </span></div>Investment in non-marketable equity securities held by the Company as of March 31, 2024 and December 31, 2023 represents investment in its related party, a company affiliated with the member of the Company’s Board of Directors, that does not have readily determinable fair values. The following table summarizes certain fair value information as of March 31, 2024 and December 31, 2023 for financial assets and liabilities measured at fair value on a recurring basis, as well as estimated fair values of certain other financial assets and liabilities not measured on a recurring basis:<div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:41.590%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.864%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:9.872%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="15" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Fair Value Hierarchy</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Balance</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Estimated Fair Value</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 1</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 2</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Level 3</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="27" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31, 2024</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:25.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">206,363 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term investments:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 26.5pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Time deposits</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">739 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term investments:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable equity securities</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">731 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable equity securities</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Financial Assets:</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 14.5pt;text-align:left;text-indent:-13.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cash equivalents:</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:25.5pt;text-indent:-13.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Money market funds</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">204,388 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:9pt;text-indent:-9pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Long-term investments:</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Marketable equity securities</span></div></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">421 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-marketable equity securities</span></div></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,250 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr></table></div> 206363000 206363000 206363000 0 0 739000 739000 0 739000 0 731000 731000 731000 0 0 1250000 204388000 204388000 204388000 0 0 421000 421000 421000 0 0 1250000 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Investments in equity securities</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company holds investments in public and privately-held entities. As the Company does not have either controlling interest or significant influence over these entities investments are accounted using two different methods depending on the type of equity investments:</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Equity investments in public entities are measured and carried at fair value with any changes recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.</span></div><div style="margin-top:6pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">•</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:14.5pt">Equity investments that do not have readily determinable fair value are accounted for under the fair value measurement alternative. Under the measurement alternative, the carrying value is measured at cost, less any impairment, plus or minus changes resulting from observable price changes in orderly transactions for identical or similar investments of the same issuer. All gains and losses on non-marketable securities, whether realized or unrealized, are recognized in Other income/(expense), net in the condensed consolidated statements of loss and comprehensive loss.</span></div>The Company classifies its investments in equity securities in Other noncurrent assets in the Company’s unaudited condensed consolidated balance sheets. Property and equipment, net<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.402%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and equipment</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-6</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,224 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,837 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,558 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-8</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,338 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,343 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-5</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and automobiles</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4-6</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">581 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">570 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,937 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,718 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,908)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6,029</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6,277</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,472 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,050 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,949)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,969)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6,523</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5,081</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Property and equipment, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12,552</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11,358</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Property and equipment, net consisted of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:58.402%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Computers and equipment</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-6</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">14,224 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">13,837 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Furniture and fixtures</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,558 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,732 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Leasehold improvements</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2-8</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,338 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,343 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Software</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3-5</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1,236 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Machinery and automobiles</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4-6</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">581 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">570 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,937 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">18,718 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated depreciation and amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,908)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(12,441)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6,029</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6,277</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Capitalized software development costs</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">11,472 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">9,050 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(4,949)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3,969)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">6,523</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">5,081</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Property and equipment, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">12,552</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">11,358</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> P2Y P6Y 14224000 13837000 P3Y P10Y 1558000 1732000 P2Y P8Y 1338000 1343000 P3Y P5Y 1236000 1236000 P4Y P6Y 581000 570000 18937000 18718000 12908000 12441000 6029000 6277000 P2Y 11472000 9050000 4949000 3969000 6523000 5081000 12552000 11358000 Intangible assets, net<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.133%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-12</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,839 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,839 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2-10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired software</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,742 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,742 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,211)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,196)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">25,531</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">26,546</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the carrying value of the Company’s existing intangible assets as of March 31, 2024, the estimated amortization expense for the future years is as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:86.162%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.638%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024 (excluding three months ended March 31, 2024)</span></div></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,035 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,625 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,107 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">25,531</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Intangible assets, net consisted of the following:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:59.133%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.619%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.911%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.623%"></td><td style="width:0.1%"></td></tr><tr style="height:14pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" rowspan="2" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Estimated<br/>Useful<br/>Life</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">As of</span></td></tr><tr style="height:26pt"><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in years)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Customer relationships</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">8-12</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,839 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">27,839 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Tradenames</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2-10</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">5,324 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Acquired software</span></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2.5</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">995 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Non-compete agreements</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">584 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,742 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">$</span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">34,742 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Less: Accumulated amortization</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(9,211)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(8,196)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Intangible assets, net</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">25,531</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">$</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">26,546</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> </span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> P8Y P12Y 27839000 27839000 P2Y P10Y 5324000 5324000 P2Y6M 995000 995000 P2Y 584000 584000 34742000 34742000 9211000 8196000 25531000 26546000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Based on the carrying value of the Company’s existing intangible assets as of March 31, 2024, the estimated amortization expense for the future years is as follows:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:86.162%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.638%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Amount</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024 (excluding three months ended March 31, 2024)</span></div></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,035 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,625 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,168 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,130 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,107 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,466 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">25,531</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3035000 3625000 3168000 3130000 3107000 9466000 25531000 Accrued expenses and other current liabilities<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of accrued expenses and other current liabilities were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,564 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,943 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">718 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">610 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">577 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value added tax payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">993 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,007 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total accrued expenses and other current liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,885</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6,276</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div>As of December 31, 2023 the Company had payable to its related party, a company affiliated with the member of the Company’s Board of Directors, in the amount of $0.6 million that was classified as Other current liabilities in unaudited condensed consolidated balance sheet. The Company fully settled this payable during the first quarter of 2024. There were no payables to related parties as of March 31, 2024. <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The components of accrued expenses and other current liabilities were as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31, 2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accrued expenses</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,564 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,943 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer deposits</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">718 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">756 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Deferred revenue</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">610 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">577 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Value added tax payable</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">444 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">993 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">549 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,007 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total accrued expenses and other current liabilities</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,885</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">6,276</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3564000 2943000 718000 756000 610000 577000 444000 993000 549000 1007000 5885000 6276000 600000 0 Debt<div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Revolving Credit Facility</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> — On March 15, 2022, the Company entered into a Credit Agreement (the “2022 Credit Agreement”) by and among the Company, as borrower, the guarantors party thereto from time to time, the lenders party thereto from time to time, and JPMorgan Chase Bank, N.A., as administrative agent for the lenders (the “Agent”). The 2022 Credit Agreement provides for a secured multicurrency revolving loan facility with an initial aggregate principal amount of up to $30.0 million, with a $10.0 million letter of credit sublimit. The Company may increase the size of the revolving loan facility up to $50.0 million, subject to certain conditions and additional commitments from existing and/or new lenders. The 2022 Credit Agreement matures on March 15, 2025.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">At the Company’s option, borrowings under the 2022 Credit Agreement accrue interest at a per annum rate based on either (i) the base rate plus a margin ranging from 1.0% to 1.5%, (ii) an adjusted term Secured Overnight Financing Rate (“SOFR”) or adjusted the Euro Interbank Offer Rate (“EURIBOR”) (based on one, three or six-month interest periods) plus a margin ranging from 2.0% to 2.5%, or (iii) an adjusted daily simple SOFR rate (or SONIA rate in the case of loans denominated in pounds sterling, or SARON rate in the case of loans denominated in Swiss francs), plus a margin ranging from 2.0% to 2.5%, in each case, with the applicable margin determined based on the Company’s consolidated total leverage ratio. The Company is also obligated to pay other closing fees, administration fees, commitment fees and letter of credit fees customary for a credit facility of this size and type.</span></div><div style="margin-top:9pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s obligations under the 2022 Credit Agreement are required to be guaranteed by certain of its domestic subsidiaries meeting materiality thresholds set forth in the 2022 Credit Agreement. Such obligations, including the guaranties, are secured by substantially all of the personal property of the Company and the Company’s subsidiary guarantors.</span></div><div style="text-align:justify"><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The 2022 Credit Agreement contains customary affirmative and negative covenants, including covenants limiting the ability of the Company and its subsidiaries to, among other things, incur debt, grant liens, undergo certain fundamental changes, make investments and acquisitions, make certain restricted payments, dispose of assets, enter into certain transactions with affiliates, and enter into burdensome agreements, in each case, subject to limitations and exceptions set forth in the 2022 Credit Agreement. The Company is also required to maintain compliance with a consolidated total leverage ratio, determined in accordance with the terms of the 2022 Credit Agreement. As of March 31, 2024, the Company was in compliance with all covenants contained in the 2022 Credit Agreement.</span></div>As of March 31, 2024 and December 31, 2023, respectively, the Company did not have any outstanding debt under the 2022 Credit Agreement. 30000000 10000000 50000000 0.010 0.015 0.020 0.025 0.020 0.025 0 0 Revenues<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Disaggregation of revenues</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The tables below present disaggregated revenues from contracts with customer by customer location, industries and contract-types. The Company believes this disaggregation best depicts how the nature, amount, timing and uncertainty of our revenues </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">and cash flows are affected by industry, market and other economic factors. The Company has a single reportable segment for the three months ended March 31, 2024 and 2023. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. Substantially all of the revenue in our North America region relates to operations in the United States.</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Customer Location</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,740 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,137 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,402 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,908 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,675 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,035 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by main vertical markets:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Vertical</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retail</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,629 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,396 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology, Media and Telecom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,811 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,243 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,515 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">CPG/Manufacturing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,559 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,646 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Healthcare and Pharma</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,009 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,152 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,344 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,560 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________________________</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">CPG stands for Consumer Packaged Goods</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by contract types: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Type</span></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Time-and-material</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,820 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,526 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-fee</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,412 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,554 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Contract balances</span></div><div><span><br/></span></div><div style="text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A contract asset is a right to consideration that is conditional upon factors other than the passage of time. A contract liability, or deferred revenue, consists of advance payments and billings in excess of revenues recognized. As of March 31, 2024 and December 31, 2023 the Company did not have contract assets recorded in its unaudited condensed consolidated balance sheet. Contract liabilities were $0.6 million as of March 31, 2024 and December 31, 2023, respectively. These balances were classified as Accrued and other current liabilities in the unaudited condensed consolidated balance sheets.    </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">During the first quarter of 2024, the Company recognized $0.3 million of revenues that were included in Accrued and other current liabilities at December 31, 2023. During the first quarter of 2023, the Company recognized $0.4 million of revenues that were included in Accrued and other current liabilities at December 31, 2022.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Remaining performance obligations</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">As of March 31, 2024, the aggregate amount of transaction price allocated to remaining performance obligations was $4.7 million. Our remaining performance obligations represent commitments for future services for which work has not been performed and revenues are to be recorded in future periods. The Company expects to recognize approximately 50.3% of its remaining performance obligations as revenues during nine months of fiscal year 2024, and an additional 49.7% in 2025. Remaining performance obligations include currently recorded contract liability as well as amounts that will be invoiced in future periods and excludes the contracts that meet at least one of the following criteria under ASC Topic 606 “</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:115%">Revenue from Contracts with Customers</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:115%">”:</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">contracts with an original duration of one year or less, including contracts that can be terminated for convenience without a substantive penalty,</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">contracts for which the Company recognizes revenues based on the right to invoice for services performed,</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">variable consideration allocated entirely to a wholly unsatisfied performance obligation or to a wholly unsatisfied promise to transfer a distinct good or service that forms part of a single performance obligation in accordance with ASC 606-10-25-14(b), for which the criteria in ASC 606-10-32-40 have been met, or</span></div><div style="margin-top:10pt;padding-left:36pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">4)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:9.67pt">variable consideration in the form of a sales-based or usage-based royalty promised in exchange for a license of intellectual property.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Many of the Company’s contracts met one or more of these exemptions as of March 31, 2024.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Customers concentration</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer 1</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.7 </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.9 </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:71.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.752%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:115%">Transactions with related parties</span></div>During the three months ended March 31, 2024 and 2023, the Company conducted transaction with a number of companies affiliated with the members of the Company’s Board of Directors. As a result, the Company recorded revenues from its related parties of $2.8 million and $1.8 million during the first quarter of 2024 and 2023, respectively. As of March 31, 2024 and December 31, 2023 accounts receivable from related parties were $1.9 million and $0.9 million, respectively. <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by major customer location. Revenues are attributed to geographic regions based upon location of the customer served irrespective of the location billed, or the location of the delivery center performing the work. Substantially all of the revenue in our North America region relates to operations in the United States.</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Customer Location</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">North America</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,740 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">60,137 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13,402 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">15,908 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,675 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,035 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by main vertical markets:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Vertical</span></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Retail</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,629 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">25,396 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Technology, Media and Telecom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">24,033 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">26,811 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Finance</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,243 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6,515 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">CPG/Manufacturing</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,559 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,646 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Healthcare and Pharma</span></div></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,009 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,152 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,344 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,560 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________________________</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">CPG stands for Consumer Packaged Goods</span></div><div style="margin-top:10pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the disaggregation of the Company’s revenues by contract types: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Contract Type</span></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Time-and-material</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,820 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">70,526 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Fixed-fee</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,412 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">9,554 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Other revenues</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">585 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 63740000 60137000 13402000 15908000 2675000 4035000 79817000 80080000 24629000 25396000 24033000 26811000 10243000 6515000 9559000 12646000 3009000 3152000 8344000 5560000 79817000 80080000 74820000 70526000 4412000 9554000 585000 0 79817000 80080000 0 0 600000 600000 300000 400000 4700000 0.503 0.497 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows the amount of revenue derived from each customer exceeding 10% of the Company’s revenue: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Customer 1</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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">16.7 </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.9 </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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table shows number of customers exceeding 10% of the Company’s billed and unbilled receivable balances:</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:98.976%"><tr><td style="width:1.0%"></td><td style="width:71.573%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.538%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.752%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Accounts receivable</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Unbilled receivable</span></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2</span></td></tr></table></div> 0.167 0.139 1 1 3 2 2800000 1800000 1900000 900000 Leases<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">A major part of the Company’s lease obligations is for office real estate. The Company may also lease corporate apartments, cars and office equipment. Payments on some of our leases may depend on index or rate, including Consumer Price Index. Such payments are included in the calculation of lease liability and assets at the commencement dates, all future changes are accounted as variable payments similar to other variable payments, such as common area maintenance, property and other taxes, utilities and insurance that are based on the lessor’s cost. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s leases have remaining lease terms ranging from</span><span style="background-color:#ffffff;color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%"> 0.1 to 6.2 years</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">. Certain lease agreements may include the option to extend or terminate before the end of the contractual term and are often non-cancelable or cancellable only by the payment of penalties. The Company includes these options in the lease term when it is reasonably certain that they will be exercised. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024 and December 31, 2023, the Company had no finance leases. </span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease expense is recorded on a straight-line basis over the lease term. During the three months ended March 31, 2024 and 2023 lease costs were as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,193 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">781 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,323</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,073</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental information related to operating lease transactions is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability payments</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">727 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease assets obtained in exchange for liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">853 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease assets due to lease modifications</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease liability due to lease modifications</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(40)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term and discount rate as of March 31, 2024 and December 31, 2023 is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining lease term, in years</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, operating lease liabilities will mature as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.303%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.497%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024 (excluding three months ended March 31, 2024)</span></div></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,461 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,700 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,331 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,015 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">285 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">268 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,060</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,403)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,657</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">There were no material lease agreements signed with related parties as of March 31, 2024 and December 31, 2023.</span></div><div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company had committed to payments of $0.4 million related to operating lease agreement that had not yet commenced as of March 31, 2024. This operating lease will commence in 2024 with the lease term of 6.2 years. The Company does not have finance lease agreements that had not yet commenced.</span></div> P0Y1M6D P6Y2M12D <div style="margin-top:6pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Operating lease expense is recorded on a straight-line basis over the lease term. During the three months ended March 31, 2024 and 2023 lease costs were as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Operating lease cost</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,193 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">781 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Variable lease cost</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">194 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Short-term lease cost</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">98 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease cost</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,323</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,073</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Supplemental information related to operating lease transactions is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease liability payments</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,168 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">727 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Lease assets obtained in exchange for liabilities</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">853 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,022 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease assets due to lease modifications</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">40 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;text-indent:-4.5pt;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Non-cash net change in lease liability due to lease modifications</span></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(40)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">— </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Weighted average remaining lease term and discount rate as of March 31, 2024 and December 31, 2023 is as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:70.935%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.516%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.517%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average remaining lease term, in years</span></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.2</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.4</span></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted average discount rate</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.2 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.0 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">%</span></td></tr></table></div> 1193000 781000 76000 194000 54000 98000 1323000 1073000 1168000 727000 853000 1022000 40000 0 -40000 0 P3Y2M12D P3Y4M24D 0.072 0.070 <div style="margin-top:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, operating lease liabilities will mature as follows:</span></div><div style="margin-top:6pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:85.303%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.497%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Lease Payments</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</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"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2024 (excluding three months ended March 31, 2024)</span></div></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,461 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2025</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,700 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2026</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,331 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2027</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,015 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2028</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">285 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Thereafter</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">268 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total lease payments</span></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,060</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Less: imputed interest</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,403)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 19pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">10,657</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 3461000 3700000 2331000 2015000 285000 268000 12060000 1403000 10657000 400000 P6Y2M12D Income taxes<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company recorded income tax expense of $0.9 million and $3.7 million for the three months ended March 31, 2024 and 2023, respectively. The Company’s effective tax rate was (30.9)% and (84.9)% for the first quarter of 2024 and 2023, respectively. </span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The change in the effective tax rate for the three months ended March 31, 2024, as compared to the same period in 2023, was attributable mainly to Section 162(m) compensation deduction limitations, foreign rate differential, and foreign inclusion adjustments.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">For the three months ended March 31, 2024, the Company used a discrete effective tax rate method to calculate income taxes due to sensitivity of the forecast. Through March 31, 2024, the Company determined that small changes in the estimated “ordinary” income would result in significant changes in the estimated annual effective tax rate causing material distortion in the year-to-date tax provision. As of March 31, 2024, the Company is unable to produce a reliable estimate of ordinary income for the quarter and year ending 2024 due to the inability to reliably or accurately forecast 2024 operating expenses. Similarly, for the three months ended March 31, 2024, due to uncertainties created by geopolitical risks, the Company’s estimated annual effective tax rate method would not provide a reliable estimate and therefore was not used.</span></div> 900000 3700000 -0.309 -0.849 Stock-based compensation<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock-based compensation cost recognized in the condensed consolidated statements of loss and comprehensive loss was as follows:</span></div><div style="margin-bottom:6pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">482 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">460 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Engineering, research, and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,653 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,677 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,089 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,339</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,257</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Stock Options</span></div><div style="margin-top:5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2018 Plan</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity under the Company’s 2018 Plan is set forth below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,486,428</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">14,552</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(65,533)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,420,895</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,433</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4.8</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,420,895 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,433 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.8</span></td></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, the Company fully recognized stock-based compensation costs related to 2018 Plan options.</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">2020 Plan</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">As of March 31, 2024, 1.9 million shares were available for grant under 2020 Incentive Stock Plan (“2020 Plan”).</span></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity under the Company’s 2020 Plan is set forth below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,165,715</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12.79</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,197</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,587)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(43,175)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.75 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options expired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,541)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.46 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,110,412</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12.73</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,066</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.3</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,834,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.73 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,470 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.5</span></td></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company elected the policy to account for forfeitures upon occurrence. The total unrecognized compensation expenses related to 2020 Stock Plan options as of March 31, 2024 was $7.7 million to be expensed on a straight-line basis over the remaining 2.5 years.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Restricted Stock Units</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">RSUs granted do not participate in earnings, dividends, and do not have voting rights until vested. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company’s RSUs for the three months ended March 31, 2024: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">729,213</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.99</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,411,350 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.34 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(306,063)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.34 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,500)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,833,000</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13.14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total unrecognized compensation expenses related to 2020 Stock Plan RSUs as of March 31, 2024 was $20.3 million to be expensed on a straight-line basis over 2.4 years.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:120%">Performance Stock Units</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company’s PSUs for the three months ended March 31, 2024: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">822,895</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.97</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,626,600 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance achievement adjustment </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,614 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.21 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(822,895)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,827,214</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">14.48</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________________________</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Reported at the certified performance achievement of 170% of the target shares granted.</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Reported of 100% of the target shares granted.</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Reported at the estimate performance achievement of 137% for the first tranche of the target shares granted in 2024.</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The total estimated unrecognized compensation expenses related to 2020 Stock Plan PSUs as of March 31, 2024 was $22.7 million to be expensed over 1.9 years.</span></div> <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Employee stock-based compensation cost recognized in the condensed consolidated statements of loss and comprehensive loss was as follows:</span></div><div style="margin-bottom:6pt;margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Cost of revenue</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">482 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">460 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Engineering, research, and development</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,288 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,653 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Sales and marketing</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,677 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,055 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">General and administrative</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,892 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">10,089 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total stock-based compensation</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,339</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13,257</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 482000 460000 1288000 1653000 1677000 1055000 7892000 10089000 11339000 13257000 <div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity under the Company’s 2018 Plan is set forth below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,486,428</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">14,552</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(65,533)</span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,420,895</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3.54</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,433</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">4.8</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,420,895 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3.54 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">12,433 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4.8</span></td></tr></table></div><div style="margin-top:5pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Stock option activity under the Company’s 2020 Plan is set forth below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:39.689%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.086%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Options</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Exercise Price</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Aggregate Intrinsic Value (in thousands)</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Contractual Term <br/>(in years)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,165,715</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12.79</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7,197</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">19,000 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options exercised</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,587)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7.90 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(43,175)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.75 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 5.5pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options expired</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(27,541)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">17.46 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Options outstanding as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">3,110,412</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12.73</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">5,066</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">7.3</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Options vested and exercisable as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,834,453 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.73 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,470 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">6.5</span></td></tr></table></div> 1486428 3.54 14552000 65533 3.54 1420895 3.54 12433000 P4Y9M18D 1420895 3.54 12433000 P4Y9M18D 1900000 3165715 12.79 7197000 19000 13.54 3587 7.90 43175 14.75 27541 17.46 3110412 12.73 5066000 P7Y3M18D 1834453 11.73 4470000 P6Y6M 7700000 P2Y6M <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company’s RSUs for the three months ended March 31, 2024: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2023</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">729,213</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.99</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,411,350 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.34 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(306,063)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.34 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards forfeited</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(1,500)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">13.54 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,833,000</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">13.14</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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></tr></table></div> 729213 11.99 1411350 13.34 306063 11.34 1500 13.54 1833000 13.14 20300000 P2Y4M24D <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table summarizes activity of the Company’s PSUs for the three months ended March 31, 2024: </span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:69.221%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.081%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.384%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:13.084%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Number of Shares</span></td><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Weighted Average Grant Date Fair Value</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of December 31, 2023</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:700;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(1)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">822,895</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11.97</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards granted </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(2)</span></div></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,626,600 </span></td><td style="background-color:#ffffff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.51 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance achievement adjustment </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:6.5pt;font-weight:400;line-height:100%;position:relative;top:-3.5pt;vertical-align:baseline">(3)</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">200,614 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">14.21 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Awards vested and released</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(822,895)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">11.97 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Unvested awards as of March 31, 2024</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">1,827,214</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%"> </span></td><td style="background-color:#cceeff;border-bottom:1pt solid #000;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">14.48</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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></tr></table><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">__________________________</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(1)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Reported at the certified performance achievement of 170% of the target shares granted.</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(2)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Reported of 100% of the target shares granted.</span></div><div style="padding-left:18pt;text-align:justify;text-indent:-18pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">(3)</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%;padding-left:6.34pt">Reported at the estimate performance achievement of 137% for the first tranche of the target shares granted in 2024.</span></div> 822895 11.97 1626600 14.51 200614 14.21 822895 11.97 1827214 14.48 1.70 1 1.37 22700000 P1Y10M24D Earnings per share<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Basic earnings per share (“EPS”) is computed by dividing the net income applicable to common stockholders for the period by the weighted average number of shares of common stock outstanding during the same period. Diluted EPS is computed by dividing net income available to common shareholders by the weighted-average number of shares of common stock outstanding during the period increased to include the number of additional shares of common stock that would have been outstanding if the potentially dilutive securities had been issued. Potentially dilutive securities include outstanding stock options, restricted stock units, and performance stock units. The dilutive effect of potentially dilutive securities is reflected in diluted EPS in order of dilution and by application of the treasury stock method and the if-converted method for stock-based compensation and convertible preferred securities, respectively.</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted EPS of common stock as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">except per share data)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator for basic and diluted loss per share</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,948)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,970)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator for basic and diluted loss per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares outstanding – basic and diluted</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,151</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,459</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss per share</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.05)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.05)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net loss per share attributable to common stockholders because including them would have had an anti-dilutive effect.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options to purchase common stock</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,616 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,962 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,857</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,020</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table sets forth the computation of basic and diluted EPS of common stock as follows:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands, </span></div><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">except per share data)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Numerator for basic and diluted loss per share</span></div></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:6.75pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Net loss</span></div></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(3,948)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(7,970)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr style="height:15pt"><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Denominator for basic and diluted loss per share</span></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="padding-left:4.5pt;text-indent:-4.5pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Weighted-average shares outstanding – basic and diluted</span></div></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">76,151</span></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">74,459</span></td></tr><tr style="height:14pt"><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><div><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Net loss per share</span></div></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.05)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#ffffff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.11)</span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Diluted</span></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.05)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">$</span></td><td style="background-color:#cceeff;padding:2px 0;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(0.11)</span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> -3948000 -7970000 76151000 76151000 74459000 74459000 -0.05 -0.11 -0.05 -0.11 <div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table represents the number of share equivalents outstanding during the period that were excluded from the calculation of diluted net loss per share attributable to common stockholders because including them would have had an anti-dilutive effect.</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Stock options to purchase common stock</span></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,616 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">4,697 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Restricted stock units</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,962 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,221 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:justify;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Performance 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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,279 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,102 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 12.25pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,857</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">8,020</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 4616000 4697000 1962000 2221000 2279000 1102000 8857000 8020000 Segment and geographic information<div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company’s business activities have similar economic characteristics and are similar in all of the following areas: the nature of services, the type or class of customer for which they provide their services, and the methods used to provide their services. In accordance with ASC Topic 280, </span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Segment Reporting</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">, the Company has determined it has single operating and reportable segments. This determination is consistent with the financial information regularly reviewed by the chief operating decision maker who assesses the Company’s performance and allocates resources based on the Company’s consolidated financial information. </span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:700;line-height:120%">Geographic Information</span></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents revenues by customer location for the three months ended March 31, 2024 and 2023. The Company attributes customers to respective countries based upon location of the customer served. It differs from the prior period definition that was based upon location of the customer billed. Refer to Note 1 for more details on reclassifications.</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,509 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,761 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,509 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Netherlands</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,473 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,851 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div><div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets include property and equipment, net of accumulated depreciation and amortization. Physical locations and values of the Company’s long-lived assets are summarized below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">in thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Serbia</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,575 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,457 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,498 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,174 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ukraine</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,437 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Poland</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,875 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,768 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,552</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,358</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The following table presents revenues by customer location for the three months ended March 31, 2024 and 2023. The Company attributes customers to respective countries based upon location of the customer served. It differs from the prior period definition that was based upon location of the customer billed. Refer to Note 1 for more details on reclassifications.</span></div><div style="margin-top:10pt;text-align:justify"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:100.000%"><tr><td style="width:1.0%"></td><td style="width:70.976%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.496%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.530%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:12.498%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Three Months Ended<br/>March 31,</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">(in thousands)</span></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">63,509 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">59,761 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United Kingdom</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">5,509 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,995 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Netherlands</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,500 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,473 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">8,299 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">7,851 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt 2px 10pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total Revenues</span></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">79,817</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td style="background-color:#cceeff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">80,080</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 63509000 59761000 5509000 8995000 2500000 3473000 8299000 7851000 79817000 80080000 <div style="margin-top:10pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">Long-lived assets include property and equipment, net of accumulated depreciation and amortization. Physical locations and values of the Company’s long-lived assets are summarized below:</span></div><div style="margin-top:5pt"><table style="border-collapse:collapse;display:inline-table;margin-bottom:5pt;vertical-align:text-bottom;width:99.853%"><tr><td style="width:1.0%"></td><td style="width:72.692%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.637%"></td><td style="width:0.1%"></td><td style="width:0.1%"></td><td style="width:0.532%"></td><td style="width:0.1%"></td><td style="width:1.0%"></td><td style="width:11.639%"></td><td style="width:0.1%"></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">As of</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="3" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">March 31,<br/>2024</span></td><td colspan="3" style="border-top:1pt solid #000000;padding:0 1pt"></td><td colspan="3" style="border-bottom:1pt solid #000000;border-top:1pt solid #000000;padding:2px 1pt;text-align:center;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:9.5pt;font-weight:700;line-height:100%">December 31,<br/>2023</span></td></tr><tr><td colspan="3" style="padding:0 1pt"></td><td colspan="9" style="border-top:1pt solid #000000;padding:2px 1pt;text-align:left;vertical-align:bottom"><div style="text-align:center"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">(</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">in thousands)</span></div></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Serbia</span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,575 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;border-top:1pt solid #000;padding:0 1pt"></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,457 </span></td><td style="background-color:#cceeff;border-top:1pt solid #000;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">United States</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,498 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,174 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Ukraine</span></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,496 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,437 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">Poland</span></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,875 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td colspan="2" style="background-color:#ffffff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">1,522 </span></td><td style="background-color:#ffffff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#cceeff;padding:2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height: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:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">3,108 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#cceeff;padding:0 1pt"></td><td colspan="2" style="background-color:#cceeff;padding:2px 0 2px 1pt;text-align:right;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:100%">2,768 </span></td><td style="background-color:#cceeff;padding:2px 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr><tr><td colspan="3" style="background-color:#ffffff;padding:2px 1pt 2px 7pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">Total</span></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">12,552</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td><td colspan="3" style="background-color:#ffffff;padding:0 1pt"></td><td style="background-color:#ffffff;border-bottom:3pt double #000;border-top:1pt solid #000;padding:2px 0 2px 1pt;text-align:left;vertical-align:bottom"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;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:'Times New Roman',sans-serif;font-size:10pt;font-weight:700;line-height:100%">11,358</span><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;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 1pt 2px 0;text-align:right;vertical-align:bottom"></td></tr></table></div> 2575000 2457000 2498000 2174000 2496000 2437000 1875000 1522000 3108000 2768000 12552000 11358000 Commitments and contingencies<div style="margin-top:12pt"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-style:italic;font-weight:400;line-height:120%">Legal Matters</span></div><div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company is subject to legal proceedings and claims that arise in the ordinary course of its business. Management evaluates each claim and provides for potential loss when the claim is probable to be paid and reasonably estimable. While adverse decisions in certain of these litigation matters, claims and administrative proceedings could have a material effect on a particular period’s results of operations, subject to the uncertainties inherent in estimating future costs for contingent liabilities, management believes that any future accruals with respect to these currently known contingencies would not have a material effect on the financial condition, liquidity or cash flows of the Company. There were no material amounts required to be reflected in these unaudited condensed consolidated financial statements related to contingencies.</span></div> Subsequent events<div style="margin-top:12pt;text-align:justify"><span style="color:#000000;font-family:'Times New Roman',sans-serif;font-size:10pt;font-weight:400;line-height:120%">The Company performed its subsequent event procedures through May 2, 2024, the date these unaudited condensed consolidated financial statements were issued.</span></div> false false false false