0001558370-23-013212.txt : 20230803 0001558370-23-013212.hdr.sgml : 20230803 20230803160757 ACCESSION NUMBER: 0001558370-23-013212 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 65 CONFORMED PERIOD OF REPORT: 20230630 FILED AS OF DATE: 20230803 DATE AS OF CHANGE: 20230803 FILER: COMPANY DATA: COMPANY CONFORMED NAME: IRADIMED CORP CENTRAL INDEX KEY: 0001325618 STANDARD INDUSTRIAL CLASSIFICATION: SURGICAL & MEDICAL INSTRUMENTS & APPARATUS [3841] IRS NUMBER: 731408526 FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-36534 FILM NUMBER: 231139944 BUSINESS ADDRESS: STREET 1: 1025 WILLA SPRINGS DR. CITY: WINTER SPRINGS STATE: FL ZIP: 32708 BUSINESS PHONE: 4076778022 MAIL ADDRESS: STREET 1: 1025 WILLA SPRINGS DR. CITY: WINTER SPRINGS STATE: FL ZIP: 32708 10-Q 1 irmd-20230630x10q.htm 10-Q
0001325618--12-312023Q2false0001325618us-gaap:EmployeeStockOptionMember2023-01-012023-06-300001325618us-gaap:RetainedEarningsMember2023-06-300001325618us-gaap:AdditionalPaidInCapitalMember2023-06-300001325618us-gaap:RetainedEarningsMember2023-03-310001325618us-gaap:AdditionalPaidInCapitalMember2023-03-310001325618us-gaap:RetainedEarningsMember2022-12-310001325618us-gaap:AdditionalPaidInCapitalMember2022-12-310001325618us-gaap:RetainedEarningsMember2022-06-300001325618us-gaap:AdditionalPaidInCapitalMember2022-06-300001325618us-gaap:RetainedEarningsMember2022-03-310001325618us-gaap:AdditionalPaidInCapitalMember2022-03-310001325618us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-03-310001325618us-gaap:RetainedEarningsMember2021-12-310001325618us-gaap:AdditionalPaidInCapitalMember2021-12-310001325618us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001325618us-gaap:CommonStockMember2023-06-300001325618us-gaap:CommonStockMember2023-03-310001325618us-gaap:CommonStockMember2022-12-310001325618us-gaap:CommonStockMember2022-06-300001325618us-gaap:CommonStockMember2022-03-310001325618us-gaap:CommonStockMember2021-12-310001325618us-gaap:EmployeeStockOptionMember2023-06-300001325618us-gaap:RestrictedStockUnitsRSUMember2022-12-310001325618us-gaap:EmployeeStockOptionMember2022-12-310001325618irmd:PerformanceBasedRestrictedStockUnitsMember2022-12-310001325618irmd:InternationalMember2023-04-012023-06-300001325618country:US2023-04-012023-06-300001325618irmd:InternationalMember2023-01-012023-06-300001325618country:US2023-01-012023-06-300001325618irmd:InternationalMember2022-04-012022-06-300001325618country:US2022-04-012022-06-300001325618irmd:InternationalMember2022-01-012022-06-300001325618country:US2022-01-012022-06-300001325618us-gaap:CommonStockMember2022-04-012022-06-300001325618us-gaap:CommonStockMember2023-04-012023-06-300001325618us-gaap:CommonStockMember2023-01-012023-03-310001325618us-gaap:CommonStockMember2022-01-012022-03-310001325618irmd:InternationalMember2023-06-300001325618country:US2023-06-300001325618irmd:InternationalMember2022-12-310001325618country:US2022-12-310001325618us-gaap:MachineryAndEquipmentMember2023-06-300001325618us-gaap:LeaseholdImprovementsMember2023-06-300001325618us-gaap:LandMember2023-06-300001325618us-gaap:FurnitureAndFixturesMember2023-06-300001325618irmd:FixedAssetsInProcessMember2023-06-300001325618irmd:ComputerSoftwareAndHardwareMember2023-06-300001325618us-gaap:MachineryAndEquipmentMember2022-12-310001325618us-gaap:LeaseholdImprovementsMember2022-12-310001325618us-gaap:FurnitureAndFixturesMember2022-12-310001325618irmd:FixedAssetsInProcessMember2022-12-310001325618irmd:ComputerSoftwareAndHardwareMember2022-12-3100013256182023-02-022023-02-020001325618us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-04-012022-06-300001325618us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-03-310001325618irmd:WinterSpringsFloridaFacilityMemberirmd:SusiLLCMember2023-04-012023-06-300001325618irmd:WinterSpringsFloridaFacilityMember2023-04-012023-06-300001325618irmd:WinterSpringsFloridaFacilityMember2023-01-012023-06-300001325618irmd:SusiLLCMember2023-01-012023-06-300001325618irmd:WinterSpringsFloridaFacilityMemberirmd:SusiLLCMember2022-04-012022-06-300001325618irmd:WinterSpringsFloridaFacilityMember2022-04-012022-06-300001325618irmd:WinterSpringsFloridaFacilityMemberirmd:SusiLLCMember2022-01-012022-12-310001325618irmd:WinterSpringsFloridaFacilityMember2022-01-012022-06-300001325618irmd:SusiLLCMember2022-01-012022-06-300001325618us-gaap:RetainedEarningsMember2023-04-012023-06-300001325618us-gaap:RetainedEarningsMember2022-04-012022-06-300001325618irmd:WinterSpringsFloridaFacilityMemberirmd:SusiLLCMember2023-06-300001325618us-gaap:TrademarksMember2023-06-300001325618irmd:PatentsInUseMember2023-06-300001325618irmd:PatentsInProcessMember2023-06-300001325618irmd:PatentsFullyAmortizedMember2023-06-300001325618irmd:InternallyDevelopedSoftwareInUseMember2023-06-300001325618irmd:InternallyDevelopedSoftwareInProcessMember2023-06-300001325618us-gaap:TrademarksMember2022-12-310001325618irmd:PatentsInUseMember2022-12-310001325618irmd:PatentsInProcessMember2022-12-310001325618irmd:PatentsFullyAmortizedMember2022-12-310001325618irmd:InternallyDevelopedSoftwareInUseMember2022-12-310001325618irmd:InternallyDevelopedSoftwareInProcessMember2022-12-310001325618us-gaap:RestrictedStockUnitsRSUMember2023-06-300001325618irmd:PerformanceBasedRestrictedStockUnitsMember2023-06-300001325618us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-06-300001325618irmd:PerformanceBasedRestrictedStockUnitsMember2023-01-012023-06-300001325618us-gaap:RetainedEarningsMember2023-01-012023-03-310001325618us-gaap:RetainedEarningsMember2022-01-012022-03-3100013256182022-06-3000013256182023-02-020001325618us-gaap:SellingAndMarketingExpenseMember2023-04-012023-06-300001325618us-gaap:ResearchAndDevelopmentExpenseMember2023-04-012023-06-300001325618us-gaap:GeneralAndAdministrativeExpenseMember2023-04-012023-06-300001325618us-gaap:CostOfSalesMember2023-04-012023-06-300001325618us-gaap:SellingAndMarketingExpenseMember2023-01-012023-06-300001325618us-gaap:ResearchAndDevelopmentExpenseMember2023-01-012023-06-300001325618us-gaap:GeneralAndAdministrativeExpenseMember2023-01-012023-06-300001325618us-gaap:CostOfSalesMember2023-01-012023-06-300001325618us-gaap:SellingAndMarketingExpenseMember2022-04-012022-06-300001325618us-gaap:ResearchAndDevelopmentExpenseMember2022-04-012022-06-300001325618us-gaap:GeneralAndAdministrativeExpenseMember2022-04-012022-06-300001325618us-gaap:CostOfSalesMember2022-04-012022-06-300001325618us-gaap:SellingAndMarketingExpenseMember2022-01-012022-06-300001325618us-gaap:ResearchAndDevelopmentExpenseMember2022-01-012022-06-300001325618us-gaap:GeneralAndAdministrativeExpenseMember2022-01-012022-06-300001325618us-gaap:CostOfSalesMember2022-01-012022-06-300001325618us-gaap:AdditionalPaidInCapitalMember2023-04-012023-06-300001325618us-gaap:AdditionalPaidInCapitalMember2023-01-012023-03-3100013256182023-01-012023-03-310001325618us-gaap:AdditionalPaidInCapitalMember2022-04-012022-06-300001325618us-gaap:AdditionalPaidInCapitalMember2022-01-012022-03-3100013256182022-01-012022-03-3100013256182021-12-310001325618irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember2023-04-012023-06-300001325618irmd:MRICompatibleIVInfusionPumpsMember2023-04-012023-06-300001325618irmd:FerroMagneticDetectionSystemsMember2023-04-012023-06-300001325618irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember2023-01-012023-06-300001325618irmd:MRICompatibleIVInfusionPumpsMember2023-01-012023-06-300001325618irmd:FerroMagneticDetectionSystemsMember2023-01-012023-06-300001325618irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember2022-04-012022-06-300001325618irmd:MRICompatibleIVInfusionPumpsMember2022-04-012022-06-300001325618irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember2022-01-012022-06-300001325618irmd:MRICompatibleIVInfusionPumpsMember2022-01-012022-06-3000013256182023-02-012023-02-280001325618irmd:WinterSpringsFloridaFacilityMember2023-02-280001325618irmd:WinterSpringsFloridaFacilityMemberirmd:SusiLLCMember2014-01-310001325618irmd:WinterSpringsFloridaFacilityMemberirmd:SusiLLCMember2014-01-012014-01-3100013256182023-03-3100013256182022-03-3100013256182023-04-012023-06-3000013256182022-04-012022-06-3000013256182022-01-012022-06-3000013256182023-06-3000013256182022-12-3100013256182023-07-3100013256182023-01-012023-06-30xbrli:sharesiso4217:USDiso4217:USDxbrli:sharesirmd:itemutr:acrexbrli:pureirmd:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 20549

FORM 10-Q

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

For the Quarterly Period Ended June 30, 2023

OR

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

For the transition period from            to

Commission File No.:  001-36534

IRADIMED CORPORATION

(Exact name of Registrant as specified in its charter)

Delaware

    

73-1408526

(State or other jurisdiction of
incorporation or organization)

(I.R.S. Employer
Identification Number)

1025 Willa Springs Drive
Winter Springs, Florida

32708

(Address of principal executive offices)

(Zip Code)

(407) 677-8022

(Registrant’s telephone number, including area code)

N/A

(Former Name, former address and former fiscal year, if changed since last report)

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

Title of each class:

    

Trading Symbol

    

Name of each exchange on which registered:

Common stock, par value $0.0001

IRMD

NASDAQ Capital Market

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

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

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer or a smaller reporting company, or an emerging growth company. See definitions of “large accelerated filer,” “accelerated filer” and “smaller reporting company,” and “emerging growth company” as defined 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.  Yes   No 

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

The registrant had 12,602,673 shares of common stock, par value $0.0001 per share, outstanding as of July 31, 2023.

IRADIMED CORPORATION

Table of Contents

Page

Cautionary Note Regarding Forward-Looking Statements

3

Part I

Financial Information

5

Item 1

Condensed Financial Statements

5

(a)    Condensed Balance Sheets as of June 30, 2023 (Unaudited) and December 31, 2022

5

(b)    Condensed Statements of Operations for the Three and Six Months Ended June 30, 2023 and 2022 (Unaudited)

6

(c)    Condensed Statements of Comprehensive Income for the Three and Six Months Ended June 30, 2023 and 2022 (Unaudited)

7

(d)    Condensed Statements of Stockholders’ Equity for the Three and Six Months Ended June 30, 2023 and 2022 (Unaudited)

8

(e)    Condensed Statements of Cash Flows for the Six Months Ended June 30, 2023 and 2022 (Unaudited)

9

(f)    Notes to Unaudited Condensed Financial Statements

10

Item 2

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

19

Item 3

Quantitative and Qualitative Disclosures About Market Risk

25

Item 4

Controls and Procedures

25

Part II

Other Information

27

Item 1

Legal Proceedings

27

Item 1A

Risk Factors

27

Item 2

Unregistered Sale of Equity Securities and Use of Proceeds

27

Item 3

Default Upon Senior Securities

27

Item 4

Mine Safety Disclosures

27

Item 5

Other Information

27

Item 6

Exhibits

28

Signatures

29

2

CAUTIONARY STATEMENTS REGARDING FORWARD-LOOKING STATEMENTS

This Quarterly Report on Form 10-Q contains “forward-looking statements” that involve substantial risks and uncertainties. The forward-looking statements are contained principally in the sections entitled “Business,” “Risk Factors” and “Management’s Discussion and Analysis of Financial Condition and Results of Operations.” In some cases, you can identify forward-looking statements by the following words: “may,” “will,” “could,” “would,” “should,” “expect,” “intend,” “plan,” “anticipate,” “believe,” “estimate,” “predict,” “project,” “potential,” “continue,” “ongoing” or the negative of these terms or other comparable terminology, although not all forward-looking statements contain these words. These statements relate to future events or our future financial performance or condition and involve known and unknown risks, uncertainties and other factors that could cause our actual results, levels of activity, performance or achievement to differ materially from those expressed or implied by these forward-looking statements. These forward-looking statements include, but are not limited to, statements about:

our ability to receive 510(k) clearance for our products and product candidates, complete inspections conducted by the U.S. Food & Drug Administration (“FDA”) or other regulatory bodies resulting in favorable outcomes, additional actions by or requests from the FDA, including a request to cease domestic distribution of products, or other regulatory bodies and unanticipated costs or delays associated with the resolution of these matters;
the timing and likelihood of regulatory approvals or clearances from the FDA or other regulatory bodies and regulatory actions on our product candidates and product marketing activities;
unexpected costs, expenses and diversion of management attention resulting from actions or requests posed to us by the FDA or other regulatory bodies;
our primary reliance on a limited number of products;
our ability to retain the continued service of our key professionals and to identify, hire and retain additional qualified professionals;
market and economic uncertainty caused by any or all public health concerns such as pandemics;
our expectations regarding the sales and marketing of our products, product candidates and services;
our expectations regarding the integrity of our supply chain for our products;
the potential for adverse application of environmental, climate change, health and safety and other laws and regulations of any jurisdiction on our operations;
our expectations for market acceptance of our new products;
the potential for our marketed products to be withdrawn due to recalls, patient adverse events or deaths;
our ability to establish and maintain intellectual property on our products and our ability to successfully defend these in cases of infringement;
the implementation of our business strategies;
the potential for exposure to product liability claims;
our financial performance expectations and interpretations thereof by securities analysts and investors;

3

our ability to compete in the development and marketing of our products and product candidates with other companies in our industry;
difficulties or delays in the development, production, manufacturing and marketing of new or existing products and services, including difficulties or delays associated with obtaining requisite regulatory approvals or clearances associated with those activities;
changes in laws and regulations or in the interpretation or application of laws or regulations, as well as possible failures to comply with applicable laws or regulations as a result of possible misinterpretations or misapplications;
cost-containment efforts of our customers, purchasing groups, third-party payers and governmental organizations;
costs associated with protecting our trade secrets and enforcing our patent, copyright and trademark rights, and successful challenges to the validity of our patents, copyrights or trademarks;
actions of regulatory bodies and other government authorities, including the FDA and foreign counterparts, that could delay, limit or suspend product development, manufacturing or sales or result in recalls, seizures, consent decrees, injunctions and monetary sanctions; including carbon taxes;
costs or claims resulting from potential errors or defects in our manufacturing that may injure persons or damage property or operations, including costs from remediation efforts or recalls;
the results, consequences, effects or timing of any commercial disputes, patent infringement claims or other legal proceedings or any government investigations;
interruption in our ability to manufacture our products or an inability to obtain key components or raw materials or increased costs in such key components or raw materials;
uncertainties in our industry due to the effects of government-driven or mandated healthcare reform;
competitive pressures in the markets in which we operate;
the loss of, or default by, one or more key customers or suppliers; and
unfavorable changes to the terms of key customer or supplier relationships.
pandemic-related uncertainties may potentially affect our financial position, operations, and cash flows. We are actively managing our response, but the extent of future impact remains uncertain.

Forward-looking statements are not guarantees of future performance and are subject to substantial risks and uncertainties that could cause the actual results to differ materially from those that we predicted in the forward-looking statements. Investors should carefully review the information contained under the caption “Risk Factors” contained in Item 1A for a description of risks and uncertainties that could cause actual results to differ from those that we predicted. All forward-looking statements are based on information available to us on the date hereof, and we assume no obligation to update forward-looking statements, except as required by Federal Securities laws.

Unless expressly indicated or the context requires otherwise, references in this Quarterly Report to “IRADIMED,” the “Company,” “we,” “our,” and “us” refer to IRADIMED CORPORATION.

4

PART I. FINANCIAL INFORMATION

Item 1. Condensed Financial Statements

IRADIMED CORPORATION

CONDENSED BALANCE SHEETS

June 30, 

    

December 31, 

2023

2022

(unaudited)

ASSETS

  

 

  

Current assets:

  

 

  

Cash and cash equivalents

$

45,822,834

$

57,960,864

Accounts receivable, net of allowance for doubtful accounts of $331,403 as of June 30, 2023, and $160,498 as of December 31, 2022

 

11,082,213

 

13,274,521

Inventory, net

 

8,415,080

 

5,369,233

Prepaid expenses and other current assets

 

770,647

 

630,960

Prepaid income taxes

 

 

254,093

Total current assets

 

66,090,774

 

77,489,671

Property and equipment, net

 

8,720,273

 

2,399,812

Intangible assets, net

 

2,353,773

 

2,069,439

Operating lease right-of-use asset

 

2,247,667

 

2,205,286

Deferred tax asset, net

 

1,766,383

 

700,867

Other assets

 

252,161

 

648,672

Total assets

$

81,431,031

$

85,513,747

LIABILITIES AND STOCKHOLDERS’ EQUITY

 

  

 

  

Current liabilities:

 

  

 

  

Accounts payable

$

2,552,076

$

1,799,316

Accrued payroll and benefits

 

2,332,643

 

2,871,890

Other accrued taxes

 

217,496

 

121,919

Warranty reserve

 

105,479

 

94,030

Deferred revenue

 

1,714,067

 

3,373,122

Current portion of operating lease liabilities

 

413,745

 

293,466

Other current liabilities

 

250,000

 

Total current liabilities

 

7,585,506

 

8,553,743

Deferred revenue

 

3,013,165

 

1,375,197

Operating lease liabilities, less current portion

 

1,833,922

 

1,911,820

Total liabilities

 

12,432,593

 

11,840,760

Stockholders’ equity:

 

  

 

  

Common stock; $0.0001 par value; 31,500,000 shares authorized; 12,601,541 shares issued and outstanding as of June 30, 2023, and 12,591,004 shares issued and outstanding as of December 31, 2022

 

1,260

 

1,259

Additional paid-in capital

 

27,369,898

 

26,407,446

Retained earnings

 

41,627,280

 

47,264,282

Total Stockholders' Equity

 

68,998,438

 

73,672,987

Total liabilities and stockholders’ equity

$

81,431,031

$

85,513,747

See accompanying notes to unaudited condensed financial statements.

5

IRADIMED CORPORATION

CONDENSED STATEMENTS OF OPERATIONS

(Unaudited)

For the Three Months Ended

    

For the Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

Revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Cost of revenue

 

3,943,904

 

2,581,806

 

7,697,535

 

5,512,992

Gross profit

 

12,186,492

 

10,139,763

 

23,907,945

 

19,519,287

Operating expenses:

 

  

 

  

 

  

 

  

General and administrative

 

3,313,080

 

2,402,795

 

7,233,591

 

5,118,745

Sales and marketing

 

2,948,425

 

2,907,788

 

5,948,403

 

5,977,344

Research and development

 

961,952

 

662,599

 

1,755,666

 

1,181,694

Total operating expenses

 

7,223,457

 

5,973,182

 

14,937,660

 

12,277,783

Income from operations

 

4,963,035

 

4,166,581

 

8,970,285

 

7,241,504

Other income (expense), net

 

335,387

 

13,102

 

677,796

 

(1,812)

Income before provision for income taxes

 

5,298,422

 

4,179,683

 

9,648,081

 

7,239,692

Provision for income tax expense

 

1,118,582

 

938,631

 

2,062,171

 

1,511,926

Net income

$

4,179,840

$

3,241,052

$

7,585,910

$

5,727,766

Net income per share:

 

  

 

  

 

  

 

  

Basic

$

0.33

$

0.26

$

0.60

$

0.46

Diluted

$

0.33

$

0.26

$

0.60

$

0.45

Weighted average shares outstanding:

 

  

 

  

 

  

 

  

Basic

 

12,596,032

 

12,560,812

 

12,594,541

 

12,556,837

Diluted

 

12,723,017

 

12,632,755

 

12,706,608

 

12,641,424

See accompanying notes to unaudited condensed financial statements.

6

IRADIMED CORPORATION

CONDENSED STATEMENTS OF COMPREHENSIVE INCOME

(Unaudited)

For the Three Months Ended

    

For the Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

Net income

$

4,179,840

$

3,241,052

$

7,585,910

$

5,727,766

Other comprehensive (loss) income:

 

  

 

  

 

  

 

  

Change in fair value of available-for-sale securities, net of tax expense (benefit) of $0 and $(22), respectively

 

 

(68)

 

 

(10,953)

Realized gain on available-for-sale securities reclassified to net income, net of tax expense of $0 and $0 respectively

 

 

(6,059)

 

 

(6,059)

Other comprehensive loss

 

 

(6,127)

 

 

(17,012)

Comprehensive income

$

4,179,840

$

3,234,925

$

7,585,910

$

5,710,754

See accompanying notes to unaudited condensed financial statements.

7

IRADIMED CORPORATION

CONDENSED STATEMENTS OF STOCKHOLDERS’ EQUITY

(Unaudited)

    

  

    

  

    

  

    

Accumulated

    

  

Additional

Other

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

Shares

Amount

Capital

Earnings

Income

Equity

Balances, December 31, 2022

12,591,004

$

1,259

$

26,407,446

$

47,264,282

$

$

73,672,987

Net income

 

 

 

3,406,070

 

 

3,406,070

Dividends paid ($1.05 per share)

 

 

 

(13,222,907)

 

 

(13,222,907)

Other comprehensive (loss)

 

 

 

(4)

 

 

(4)

Stock-based compensation expense

 

 

533,643

 

 

 

533,643

Net share settlement of restricted stock units

3,572

 

 

(49,878)

 

 

 

(49,878)

Balances, March 31, 2023

12,594,576

$

1,259

$

26,891,211

$

37,447,441

$

$

64,339,911

Net income

 

 

 

4,179,840

 

 

4,179,840

Other comprehensive (loss)

 

 

 

 

 

Stock-based compensation expense

 

 

568,453

 

 

 

568,453

Net share settlement of restricted stock units

5,965

 

1

 

(97,106)

 

 

 

(97,105)

Exercise of stock options

1,000

7,339

7,339

Balances, June 30, 2023

12,601,541

$

1,260

$

27,369,898

$

41,627,281

$

$

68,998,438

  

    

  

    

  

    

  

    

Accumulated

    

  

Additional

Other

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

Shares

Amount

Capital

Earnings

Income

Equity

Balances, December 31, 2021

12,544,024

$

1,254

$

25,160,618

$

46,994,922

$

17,012

$

72,173,806

Net income

 

 

 

2,486,713

 

 

2,486,713

Dividends paid ($1.00 per share)

 

 

 

(12,559,127)

 

 

(12,559,127)

Other comprehensive (loss)

 

 

 

 

(10,885)

 

(10,885)

Stock-based compensation expense

 

 

453,360

 

 

 

453,360

Net share settlement of restricted stock units

3,879

 

1

 

(67,381)

 

 

 

(67,380)

Exercise of stock options

12,566

 

1

 

71,947

 

 

 

71,948

Balances, March 31, 2022

12,560,469

$

1,256

$

25,618,544

$

36,922,508

$

6,127

$

62,548,435

Net income

 

 

 

3,241,052

 

 

3,241,052

Other comprehensive (loss)

 

 

 

 

(6,127)

 

(6,127)

Stock-based compensation expense

 

 

121,003

 

 

 

121,003

Net share settlement of restricted stock units

556

 

 

(5,726)

 

 

 

(5,726)

Exercise of stock options

 

 

 

 

 

Balances, June 30, 2022

12,561,025

$

1,256

$

25,733,821

$

40,163,560

$

$

65,898,637

See accompanying notes to unaudited condensed financial statements.

8

IRADIMED CORPORATION

CONDENSED STATEMENTS OF CASH FLOWS

(Unaudited)

Six Months Ended

June 30, 

2023

    

2022

Operating activities:

  

 

  

Net income

$

7,585,910

$

5,727,766

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

 

  

 

  

Change in allowance for doubtful accounts

 

170,905

 

21,370

Change in provision for excess and obsolete inventory

 

167,383

 

19,824

Depreciation and amortization

 

369,908

 

928,101

Loss (Gain) on disposal of property and equipment

 

3,852

 

(4,894)

Stock-based compensation

 

1,102,096

 

574,363

Deferred income taxes, net

 

(1,065,516)

 

(144,948)

Loss on maturities of investments

 

 

(8,025)

Changes in operating assets and liabilities:

 

 

  

Accounts receivable

 

2,021,403

 

(3,295,542)

Inventory

 

(4,212,765)

 

(587,502)

Prepaid expenses and other current assets

 

57,568

 

(451,276)

Other assets

 

541,548

 

10,419

Accounts payable

 

1,709,063

 

(15,622)

Accrued payroll and benefits

 

(539,247)

 

(545,393)

Other accrued taxes

 

95,577

 

95,055

Warranty reserve

 

11,449

 

(8,111)

Deferred revenue

 

(363,379)

 

(253,074)

Other current liabilities

 

250,000

 

(7,995)

Prepaid income taxes

 

254,093

 

1,010,890

Net cash provided by operating activities

 

8,159,848

 

3,065,406

Investing activities:

 

  

 

  

Proceeds from maturities of investments

 

 

500,000

Purchases of property and equipment

 

(6,600,521)

 

(371,935)

Capitalized intangible assets

 

(334,807)

 

(475,198)

Net cash used in investing activities

 

(6,935,328)

 

(347,133)

Financing activities:

 

  

 

  

Dividends paid

 

(13,222,907)

 

(12,559,127)

Proceeds from exercises of stock options

 

7,339

 

71,949

Taxes paid related to the net share settlement of equity awards

 

(146,983)

 

(73,106)

Net cash used in financing activities

 

(13,362,551)

 

(12,560,284)

Net decrease in cash and cash equivalents

 

(12,138,031)

 

(9,842,011)

Cash and cash equivalents, beginning of period

 

57,960,864

 

61,999,550

Cash and cash equivalents, end of period

$

45,822,833

$

52,157,539

Supplemental disclosure of cash flow information:

 

  

 

  

Cash paid for income taxes

$

2,756,152

$

757,137

ROU asset recognized in exchange for new lease obligation

$

227,982

$

Operating and short-term lease payments recorded within cash flow provided by operating activities

$

324,362

$

257,117

See accompanying notes to unaudited condensed financial statements.

9

IRADIMED CORPORATION

Notes to Unaudited Condensed Financial Statements

1 — Basis of Presentation

The accompanying interim condensed financial statements of IRADIMED CORPORATION (“IRADIMED”, the “Company”, “we”, “our”) have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Certain information and footnote disclosures normally presented in annual financial statements prepared in accordance with U.S. generally accepted accounting principles (“GAAP”) have been condensed or omitted pursuant to such rules and regulations. The interim financial information is unaudited, but reflects all normal adjustments that are, in the opinion of management, necessary for the fair presentation of our financial position, results of operations and cash flows for the interim periods presented. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023, and other interim periods, or future years or periods.

The accompanying interim condensed financial statements should be read in conjunction with the financial statements and related footnotes to financial statements included in our Annual Report on Form 10-K for the year ended December 31, 2022. The accounting policies followed in the preparation of these interim condensed financial statements, except as described in Note 1, are consistent in all material respects with those described in Note 1 of our Form 10-K.

We operate in one reportable segment which is the development, manufacture and sale of Magnetic Resonance Imaging (“MRI”) compatible medical devices, related accessories, disposables and service for use primarily by hospitals and acute care facilities during MRI procedures.

Certain Significant Risks and Uncertainties

We market our products to end users in the United States and to third-party distributors internationally. Sales to end users in the United States are generally made on open credit terms. Management maintains an allowance for potential credit losses.

We have deposited our cash and cash equivalents with various financial institutions. Our cash and cash equivalents balances exceed federally insured limits regularly throughout the year. We have not incurred any losses related to these balances.

Our medical devices require clearance from the FDA and international regulatory agencies prior to commercialized sales. Our future products may not receive required approvals. If we were denied such approvals, or if such approvals were revoked or delayed or if we were unable to timely renew certain approvals for existing products, it would have a materially adverse impact on our business, results of operations and financial condition.

Certain key components of our products essential to their functionality are sole-sourced. Any disruption in the availability of these components would have a materially adverse impact on our business, results of operations and financial condition.

10

Recent Accounting Pronouncements

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which requires the Company to measure and recognize expected credit losses for financial assets held and not accounted for at fair value through net income. In November 2018, April 2019 and May 2019, the FASB issued ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments - Credit Losses, ASU 2019-04, Codification Improvements to Topic 326, Financial Instruments - Credit Losses and ASU 2019-05, Financial Instruments - Credit Losses (Topic 326): Targeted Transition Relief, which provided additional implementation guidance on ASU 2016-03. We have adopted previously mentioned ASU starting January 1, 2023 and it did not result in a material impact on our financial condition, results of operations or cash flows.

2 — Revenue Recognition

Disaggregation of Revenue

We disaggregate revenue from contracts with customers by geographic region and revenue type as we believe it best depicts the nature, amount, timing and uncertainty of our revenue and cash flow.

Revenue information by geographic region is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

United States

$

12,949,526

$

10,816,691

$

24,928,050

$

20,796,032

International

 

3,180,870

 

1,904,878

 

6,677,430

 

4,236,247

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Revenue information by type is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

Devices:

  

 

  

 

  

 

  

MRI Compatible IV Infusion Pump Systems

$

4,522,568

$

3,853,016

$

10,061,383

$

7,134,955

MRI Compatible Patient Vital Signs Monitoring Systems

 

6,128,718

 

4,921,619

 

10,825,536

 

10,116,370

Ferro Magnetic Detection Systems

 

183,190

 

 

480,779

 

Total Devices revenue

 

10,834,476

 

8,774,635

 

21,367,698

 

17,251,325

Disposables, services and other

 

4,815,870

 

3,430,005

 

9,250,612

 

6,748,907

Amortization of extended warranty agreements

 

480,050

 

516,929

 

987,170

 

1,032,047

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

11

Contract Liabilities

Our contract liabilities consist of:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Advance payments from customers

$

342,292

$

896,617

Shipments in-transit

 

19,833

 

14,696

Extended warranty agreements

 

4,365,107

 

3,837,006

Total

$

4,727,232

$

4,748,319

Changes in the contract liabilities during the periods presented are as follows:

Deferred

Revenue

(unaudited)

Contract liabilities, December 31, 2022

$

4,748,319

Increases due to cash received from customers

 

2,464,337

Decreases due to recognition of revenue

 

(2,485,424)

Contract liabilities, June 30, 2023

$

4,727,232

Deferred

Revenue

(unaudited)

Contract liabilities, December 31, 2021

$

4,232,439

Increases due to cash received from customers

 

1,969,841

Decreases due to recognition of revenue

 

(2,288,798)

Contract liabilities, June 30, 2022

$

3,913,482

Capitalized Contract Costs

Our capitalized contract costs totaled $199,776 and $340,044 as of June 30, 2023 and December 31, 2022, respectively, and are classified as other assets on the unaudited condensed balance sheet.

3 — Basic and Diluted Net Income per Share

Basic net income per share is based upon the weighted-average number of common shares outstanding during the period. Diluted net income per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock. Stock options, restricted stock units and performance-based restricted stock units granted by us represent the only dilutive effect reflected in diluted weighted-average shares outstanding.

The following table presents the computation of basic and diluted net income per share:

Three Months Ended June 30, 

    

Six Months Ended June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

Net income

$

4,179,840

$

3,241,052

$

7,585,910

$

5,727,766

Weighted-average shares outstanding — Basic

 

12,596,032

 

12,560,812

 

12,594,541

 

12,556,837

Effect of dilutive securities:

 

  

 

  

 

  

 

  

Stock options

 

19,333

 

19,168

 

18,893

 

22,784

Restricted stock units

 

69,112

 

52,775

57,610

 

61,803

Performance-based restricted stock units

 

38,540

 

 

35,564

 

Weighted-average shares outstanding — Diluted

 

12,723,017

 

12,632,755

 

12,706,608

 

12,641,424

Basic net income per share

$

0.33

$

0.26

$

0.60

$

0.46

Diluted net income per share

$

0.33

$

0.26

$

0.60

$

0.45

12

Stock options and restricted stock units excluded from the calculation of diluted net income per share because the effect would have been anti-dilutive are as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

2022

2023

2022

(unaudited)

(unaudited)

Anti-dilutive stock options and restricted stock units

 

30,728

 

11,141

 

25,197

4 — Inventory, net

Inventory consists of:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Raw materials

$

7,106,304

$

4,827,113

Work in process

 

754,670

 

369,761

Finished goods

 

960,776

 

411,647

Inventory before allowance for excess and obsolete

 

8,821,750

 

5,608,521

Allowance for excess and obsolete

 

(406,670)

 

(239,288)

Total

$

8,415,080

$

5,369,233

13

5 — Property and Equipment, net

Property and equipment consist of:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Land

$

6,200,000

$

Computer software and hardware

1,271,277

1,121,455

Furniture and fixtures

 

1,695,772

 

1,573,587

Leasehold improvements

 

266,082

 

259,146

Machinery and equipment

 

2,419,147

 

2,210,181

Fixed assets in-process

 

617,760

 

665,773

 

12,470,038

 

5,830,142

Accumulated depreciation

 

(3,749,765)

 

(3,430,330)

Total

$

8,720,273

$

2,399,812

Depreciation expense of property and equipment was $162,121 and $142,710 for the three months ended June 30, 2023 and 2022, respectively, and $319,435 and $277,581 for the six months ended June 30, 2023 and 2022, respectively.

Land Acquisition

On February 2, 2023, the Company entered into a reinstatement and amendment to the previously announced sale and purchase agreement with O Property, Ltd., a Florida limited partnership dated as of November 1, 2022, pursuant to which the parties agreed to consummate a sale of real property located in Orange County, Florida. Pursuant to the terms of the Reinstatement, the parties consummated the sale of approximately 26.5 acres of land to the Company for a purchase price of $6,200,000. The property was acquired as a site for future development of manufacturing, research labs, and office space to accommodate our increased operations and anticipated growth.

Property and equipment, net, information by geographic region is as follows:

June 30, 

    

December 31, 

2023

2022

(unaudited)

United States

$

8,528,821

$

2,248,308

International

 

191,452

 

151,504

Total property and equipment, net

$

8,720,273

$

2,399,812

Long-lived assets held outside of the United States consist principally of tooling and machinery and equipment, which are components of property and equipment, net.

14

6 — Intangible Assets, net

The following table summarizes the components of intangible asset balances:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Patents — in use

$

321,874

$

321,873

Patents — fully amortized

 

70,164

 

70,164

Patents — in process

 

127,108

 

123,153

Internally developed software — in use

 

872,218

 

872,218

Internally developed software — in process

 

1,820,173

 

1,489,322

Trademarks

 

27,697

 

27,697

 

3,239,234

 

2,904,427

Accumulated amortization

 

(885,461)

 

(834,988)

Total

$

2,353,773

$

2,069,439

Amortization expense of intangible assets was $25,236 and $25,393 for the three months ended June 30, 2023 and 2022, respectively, and $50,473 and $50,649 for the six months ended June 30, 2023 and 2022, respectively.

Expected annual amortization expense for the remaining portion of 2023 and the next five years related to intangible assets is as follows (excludes in process intangible assets):

Six months ending December 31,2023

$

50,473

2024

$

100,544

2025

$

97,374

2026

$

85,658

2027

$

11,945

2028

$

9,343

7 — Fair Value Measurements

The fair values of cash equivalents, accounts receivables, net and accounts payable approximate their carrying amounts due to their short duration.

As of June 30, 2023 we did not have any asset or liabilities subject to recurring fair value measurements.

15

8 — Accumulated Other Comprehensive Income

The components of accumulated other comprehensive income, net of tax, for the three months ended June 30, 2023 and 2022 are as follows:

Unrealized (Losses)

Gains on

Available-For-Sale

Securities

(unaudited)

Balance at March 31, 2023

$

(Gain) Loss on available-for-sale securities, net

 

Reclassification realized in net earnings

 

Balance at June 30, 2023

$

Balance at March 31, 2022

$

6,127

(Gain) Loss on available-for-sale securities, net

 

(68)

Reclassification realized in net earnings

 

(6,059)

Balance at June 30, 2022

$

The components of accumulated other comprehensive income, net of tax, for the six months ended June 30, 2023 and 2022 are as follows:

Unrealized (Losses)

Gains on

Available-For-Sale

Securities

(unaudited)

Balance at December 31, 2022

$

(Gain) Loss on available-for-sale securities, net

 

Reclassification realized in net earnings

 

Balance at June 30, 2023

$

Balance at December 31, 2021

$

17,012

(Gain) Loss on available-for-sale securities, net

 

(10,953)

Reclassification realized in net earnings

 

(6,059)

Balance at June 30, 2022

$

9 — Stock-Based Compensation

Stock-based compensation was recognized as follows in the unaudited Condensed Statements of Operations:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

    

2023

    

2022

(unaudited)

(unaudited)

Cost of revenue

$

62,430

$

7,955

$

124,173

$

87,379

General and administrative

 

291,346

 

10,604

 

580,730

 

207,374

Sales and marketing

 

169,160

 

62,253

 

306,367

 

199,675

Research and development

 

45,518

 

40,191

 

90,827

 

79,935

Total

$

568,454

$

121,003

$

1,102,097

$

574,363

As of June 30, 2023, we had $3,326,259 of unrecognized compensation cost related to unvested restricted stock units, which is expected to be recognized over a weighted-average period of 2.46 years. As of June 30, 2023, we had

16

$730,618 of unrecognized compensation cost related to unvested performance-based restricted stock units, which is expected to be recognized over a weighted-average period of 2.21 years.

The following table presents a summary of our equity award activity for the six months ended June 30, 2023 (shares):

    

    

    

Performance

Based

Stock

Restricted

Restricted

Options

Stock Units

Stock Units

Outstanding beginning of period

24,010

 

151,337

 

27,884

Awards granted

 

3,656

 

Awards exercised/vested

(1,000)

 

(13,001)

 

Awards canceled/ forfeited

 

(70)

 

Outstanding end of period

23,010

 

141,922

 

27,884

10 — Income Taxes

For the three and six months ended June 30, 2023, we recorded a provision for income tax expense of $1,118,582 and $2,062,171, respectively. Our effective tax rate was 21.1 percent and 21.4 percent, respectively, and differed from the U.S. Federal statutory rate primarily due to U.S. state income tax expense, partially offset by benefits from foreign derived intangible income and research and development tax credits.

For the three and six months ended June 30, 2022, we recorded a provision for income tax expense of $938,631 and $1,511,926 respectively. Our effective tax rate was 22.5 percent and 20.9 percent respectively and differed from the U.S. Federal statutory rate primarily due to U.S. Federal income tax expense, partially offset by benefits from foreign derived intangible income and research and development tax credits.

As of June 30, 2023 and December 31, 2022, we had not identified or accrued for any uncertain tax positions. We are currently unaware of any uncertain tax positions that could result in significant payments, accruals, or other material deviations in this estimate over the next 12 months. We believe that our tax positions comply in all material respects with applicable tax law. However, tax law is subject to interpretation, and interpretations by taxing authorities could be different from ours, which could result in the imposition of additional taxes and penalties.

We file tax returns in the United States Federal jurisdiction and many U.S. state jurisdictions. Our returns are not currently under examination by the Internal Revenue Service. The Company remains subject to income tax examinations for our United States Federal and certain U.S. state income taxes for 2019 and subsequent years.

11 — Leases

We have entered into operating lease contracts for our manufacturing plant, office space, and various office equipment with one material lease contract outstanding.

In January 2014, we entered into a non-cancelable operating lease, commencing July 1, 2014, for our manufacturing and headquarters facility in Winter Springs, Florida owned by Susi, LLC, an entity controlled by our President, Chief Executive Officer, and Chairman of the Board, Roger Susi. Pursuant to the terms of our lease for this property, the monthly base rent is $34,133, adjusted annually for changes in the consumer price index. For the three months ended June 30, 2023 and 2022, the Company paid Susi, LLC $127,817 and $118,504 respectively. For the six months ended June 30, 2023 and 2022, the Company paid Susi, LLC $255,635 and $237,008 respectively. For the year ended December 31, 2022, the Company paid Susi, LLC $492,643 related to this lease. Under the terms of the lease, we are responsible for insurance and maintenance expenses. Prior to May 31, 2019, the expiration date of the initial lease term, and pursuant to the terms of the lease contract, we renewed the lease for an additional five years, resulting in a new lease expiration date of May 31, 2024. Unless advance written notice of termination is timely provided, the lease will automatically renew for one additional successive term of five years beginning in 2024, and thereafter, will be renewed

17

for successive terms of one year each. At the time we adopted ASU 2016-02, Leases (Topic 842), we concluded that we would exercise the remaining five-year option, resulting in a remaining lease term of 6.8 years as of June 30, 2023. This lease agreement does not contain any residual value guarantee or material restrictive covenants.

In February 2023, we entered into two, two-year, non-cancelable operating leases with non-related parties for additional office space in Winter Springs, Florida. Pursuant to the lease terms the total monthly base rent is $10,055. For the three months ended June 30, 2023 and 2022, the Company paid $30,165 and $0 respectively. For the six months ended June 30, 2023 and 2022, the Company paid $52,975 and $0 respectively. Under the terms of the lease, we are responsible for insurance and maintenance expenses. Pursuant to the contract terms, the leases will expire February 2025 and do not contain any residual value guarantee or material restrictive covenants.

We will reassess the lease accounting terms and assumptions once the details regarding completion of a new manufacturing facility and planned departure of the current primary facility is finalized.

Operating lease cost recognized in the unaudited Condensed Statements of Operations is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

2022

2023

2022

(unaudited)

(unaudited)

Cost of revenue

$

58,086

    

$

53,854

    

$

116,172

    

$

107,708

General and administrative

 

92,206

 

54,710

 

183,676

 

109,420

Sales and marketing

 

3,251

 

3,014

 

6,501

 

6,028

Research and development

 

9,006

 

8,350

 

18,013

 

16,700

Total

$

162,549

$

119,928

$

324,362

$

239,856

Lease costs for short-term leases were immaterial for the three and six months ended June 30, 2023, and 2022.

Maturity of our operating lease liability as of June 30, 2023, is as follows:

Six months ending December 31, 2023

$

269,657

2024

 

535,954

2025

 

415,294

2026

 

409,596

2027

 

409,596

Thereafter

 

594,446

Total lease payments

 

2,634,543

Imputed interest

 

(386,876)

Present value of lease liability

$

2,247,667

12 — Commitments and Contingencies

Purchase commitments. We had various purchase orders for goods or services totaling $14,802,094 and $8,021,403 as of June 30, 2023 and December 31, 2022, respectively. Amounts recognized in our balance sheet related to these purchase orders were immaterial.

Legal matters. We may, from time to time, become a party to various legal proceedings or claims that arise in the ordinary course of business. As of June 30, 2023 and December 31, 2022, we had accrued approximately $250,000 and $0, respectively, related to various matters.

18

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

The following discussion and analysis should be read in conjunction with our condensed financial statements and the related notes to those statements included in this Quarterly Report, the discussion of certain risks and uncertainties contained in Part II, Item 1A of this Quarterly Report, the discussion under “Management’s Discussion and Analysis of Financial Condition and Results of Operations” and “Business” included in our Annual Report filed on Form 10-K for the fiscal year ended December 31, 2022 and the cautionary information regarding forward-looking statements at the beginning of this Quarterly Report.

Our Business

We develop, manufacture, market and distribute MRI compatible medical devices and accessories, disposables and services relating to them.

We are a leader in the development of innovative MRI compatible medical devices. We are the only known provider of a non-magnetic intravenous (“IV”) infusion pump system that is specifically designed to be safe for use during MRI procedures. We were the first to develop an infusion delivery system that largely eliminates many of the dangers and problems present during MRI procedures. Standard infusion pumps contain magnetic and electronic components which can create radio frequency interference and are dangerous to operate in the presence of the powerful magnet that drives an MRI system. Our patented MRidium® MRI compatible IV infusion pump system has been designed with a non-magnetic ultrasonic motor, uniquely designed non-ferrous parts and other special features to safely and predictably deliver anesthesia and other IV fluids during various MRI procedures. Our pump solution provides a seamless approach that enables accurate, safe and dependable fluid delivery before, during and after an MRI scan, which is important to critically ill patients who cannot be removed from their vital medications, and children and infants who must generally be sedated to remain immobile during an MRI scan.

Each IV infusion pump system consists of an MRidium® MRI compatible IV infusion pump, non-magnetic mobile stand, proprietary disposable IV tubing sets and many of these systems contain additional optional upgrade accessories.

Our 3880 MRI compatible patient vital signs monitoring system has been designed with non-magnetic components and other special features to safely and accurately monitor a patient’s vital signs during various MRI procedures. The IRADIMED 3880 system operates dependably in magnetic fields up to 30,000 gauss, which means it can operate virtually anywhere in the MRI scanner room. The IRADIMED 3880 has a compact, lightweight design allowing it to travel with the patient from their critical care unit to the MRI and back, resulting in increased patient safety through uninterrupted vital signs monitoring and decreasing the amount of time critically ill patients are away from critical care units. The features of the IRADIMED 3880 include: wireless ECG with dynamic gradient filtering; wireless SpO2 using Masimo® algorithms; non-magnetic respiratory CO2; invasive and non-invasive blood pressure; patient temperature, and optional advanced multi-gas anesthetic agent unit featuring continuous Minimum Alveolar Concentration measurements. The IRADIMED 3880 MRI compatible patient vital signs monitoring system has an easy-to-use design and allows for the effective communication of patient vital signs information to clinicians.

We generate revenue from the sale of MRI compatible medical devices and accessories, extended warranty agreements, services related to maintaining our products and the sale of disposable products used with our devices. The principal customers for our MRI compatible products include hospitals and acute care facilities, both in the United States and internationally. As of June 30, 2023 our direct U.S. sales force consisted of 28 field sales representatives, 3 regional sales directors and supplemented by 5 clinical application specialists. Internationally, we have distribution agreements with independent distributors selling our products.

Selling cycles for our devices have varied widely and have historically ranged between three and six months in duration. We also enter into agreements with integrated delivery health systems and healthcare supply contracting companies in the U.S. Our agreements with healthcare supply contracting companies enable us to sell and distribute our products and services to their member hospitals. Under these agreements, we are required to pay these group purchasing organizations (“GPOs”) a fee of three percent of the sales of our products to their member hospitals.

19

Financial Highlights

For the second quarter ended June 30, 2023, our revenue increased $3.4 million, or 26.8 percent, to $16.1 million, compared to $12.7 million for the second quarter last year. Income before the provision for income taxes was $5.3 million for the second quarter 2023, compared to $4.2 million for the second quarter last year. Net income was $4.2 million, or $0.33 per diluted share in the second quarter ended June 30, 2023, compared to $3.2 million, or $0.26 per share in the second quarter last year.

For the remainder of 2023, we expect higher revenue when compared to the same period in 2022 due to higher sales of our medical devices, related accessories, disposables, and services. We also expect higher operating expenses compared to the same period in 2022 primarily due to higher sales and marketing, and general and administrative expenses.

Application of Critical Accounting Policies

We prepare our financial statements in conformity with generally accepted accounting principles (“GAAP”). The preparation of these financial statements requires us to make estimates and use assumptions that affect the reported amounts of assets, liabilities, and related disclosures at the date of the financial statements and the reported amounts of revenue and expenses during the reporting period. Actual results could differ from those estimates.

We believe revenue recognition, accounts receivable, allowance for doubtful accounts, inventory valuation, product warranties, stock compensation, and income taxes are critical accounting policies requiring the use of significant estimates, assumptions, and judgments.

These critical accounting policies are described in more detail in our Annual Report filed on Form 10-K, under Management’s Discussion and Analysis and Results of Operations. Except as disclosed in Note 1 to the unaudited condensed financial statements contained herein related to the adoption of recent accounting pronouncements, there have been no changes to these policies during the six months ended June 30, 2023.

The use of different estimates, assumptions, and judgments could have a material effect on the reported amounts of assets, liabilities, and related disclosures as of the date of the financial statements and revenue and expenses during the reporting period.

20

Results of Operations

The following table sets forth selected statements of operations data as a percentage of total revenue for the periods indicated. Our historical operating results are not necessarily indicative of the results for any future period.

Percent of Revenue

    

Percent of Revenue

 

Three Months Ended

Six Months Ended

 

June 30, 

June 30, 

 

2023

    

2022

    

2023

    

2022

 

Revenue

100.0

%  

100.0

%  

100.0

%  

100.0

%

Cost of revenue

24.5

 

20.3

 

24.4

 

22.0

Gross profit

75.5

 

79.7

 

75.6

 

78.0

Operating expenses:

 

 

 

General and administrative

20.5

 

18.9

 

22.9

 

20.4

Sales and marketing

18.3

 

22.9

 

18.8

 

23.9

Research and development

6.0

 

5.2

 

5.6

 

4.7

Total operating expenses

44.8

 

47.0

 

47.3

 

49.0

Income from operations

30.8

 

32.8

 

28.4

 

28.9

Other income (expense), net

2.1

 

0.1

 

2.1

 

(0.0)

Income before provision for income taxes

32.9

 

32.9

 

30.5

 

28.9

Provision for income tax expense

6.9

 

7.4

 

6.5

 

6.0

Net income

25.9

%  

25.5

%  

24.0

%  

22.9

%

Three and Six Months Ended June 30, 2023 and 2022

Revenue by Geographic Region

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

    

2023

    

2022

(unaudited)

(unaudited)

United States

$

12,949,526

$

10,816,691

$

24,928,050

$

20,796,032

International

 

3,180,870

 

1,904,878

 

6,677,430

 

4,236,247

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Revenue by Type

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

    

2023

    

2022

(unaudited)

(unaudited)

Devices:

  

 

  

 

  

 

  

MRI Compatible IV Infusion Pump Systems

$

4,522,568

$

3,853,016

$

10,061,383

$

7,134,955

MRI Compatible Patient Vital Signs Monitoring Systems

 

6,128,718

 

4,921,619

 

10,825,536

 

10,116,370

Ferro Magnetic Detection Systems

 

183,190

 

 

480,779

 

Total Devices revenue

 

10,834,476

 

8,774,635

 

21,367,698

 

17,251,325

Disposables, services and other

 

4,815,870

 

3,430,005

 

9,250,612

 

6,748,907

Amortization of extended warranty agreements

 

480,050

 

516,929

 

987,170

 

1,032,047

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

For the three months ended June 30, 2023, revenue increased $3.4 million, or 26.8 percent, to $16.1 million from $12.7 million for the same period in 2022. This is attributed to the increase in our Patient Vital Signs Monitor and disposable sales as well as the release of our Ferro Magnetic Detection System.

21

Revenue from sales in the U.S. increased $2.1 million, or 19.7 percent, to $12.9 million for the second quarter 2023, from $10.8 million for the second quarter 2022. Revenue from sales internationally increased $1.3 million, or 67.0 percent, to $3.2 million for the second quarter 2023, from $1.9 million for the second quarter 2022. Domestic sales accounted for 80.3 percent of revenue for the second quarter 2023, compared to 85.0 percent for the second quarter 2022.

Revenue from sales of devices increased $2.1 million, or 23.5 percent, to $10.8 million for the three months ended June 30, 2023, from $8.8 million for the same period in 2022.

Revenue from sales of our disposables, service and other increased $1.4 million, or 40.4 percent, to $4.8 million for the three months ended June 30, 2023, from $3.4 million for the same period in 2022. Revenue from the amortization of extended warranty agreements was consistent at $0.5 million for the three months ended June 30, 2023 and 2022.

For the six months ended June 30, 2023, revenue increased $6.6 million, or 26.3 percent, to $31.6 million from $25.0 million for the same period in 2022. This is attributed to the increase in our IV Infusion Pump System, and disposable sales as well as the release of our Ferro Magnetic Detection System.

Revenue from sales in the U.S. increased $4.1 million, or 19.9 percent, to $24.9 million for the six months ended June 30, 2023, from $20.8 million for the same period 2022. Revenue from sales internationally increased $2.4 million, or 57.6 percent, to $6.7 million for the six months ended 2023, from $4.2 million for the six months ended 2022. Domestic sales accounted for 78.9 percent of revenue for the second quarter 2023, compared to 83.1 percent for the six months ended 2022.

Revenue from sales of devices increased $4.1 million, or 23.9 percent, to $21.4 million for the six months ended June 30, 2023, from $17.3 million for the same period in 2022.

Revenue from sales of our disposables, service and other increased $2.5 million, or 37.1 percent, to $9.3 million for the six months ended June 30, 2023, from $6.7 million for the same period in 2022. Revenue from the amortization of extended warranty agreements was consistent at $1.0 million for the six months ended June 30, 2023 and 2022.

Cost of Revenue and Gross Profit

Three Months Ended

    

Six Months Ended

 

June 30, 

June 30, 

 

2023

    

2022

    

2023

    

2022

 

Revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Cost of revenue

 

3,943,904

 

2,581,806

 

7,697,535

 

5,512,992

Gross profit

$

12,186,492

$

10,139,763

$

23,907,945

$

19,519,287

Gross profit percentage

 

75.5

%  

 

79.7

%  

 

75.6

%  

 

78.0

%

For the three months ended June 30, 2023 and 2022, cost of revenue increased $1.4 million, or 52.8 percent to $3.9 million from $2.6 million for the same period 2022. Gross profit increased $2.0 million, or 20.2 percent, to $12.2 million for the second quarter 2023 from $10.1 million for the same period in 2022. Gross profit margin was 75.5 percent for second quarter 2023, compared to 79.7 percent for the second quarter 2022. The decrease in gross profit margin is primarily due to an unfavorable overhead variance, sales mix, and increased raw material costs due to inflation.

For the six months ended June 30, 2023, cost of revenue increased $2.2 million, or 39.6 percent, to $7.7 million from $5.5 million for the same period last year. Gross profit increased $4.4 million, or 22.5 percent, to $23.9 million for the six months ended June 30, 2023 from $19.5 million for the same period in 2022. Gross profit margin was 75.6 percent for six months ended June 30, 2023, compared to 78.0 percent for the same period in 2022. The decrease in gross profit margin is primarily due to an unfavorable geographic sales mix, increased raw material costs, and overhead variances. International revenue increased to 21.1 percent from 16.9 respectively for the six months ending June 30, 2023 and 2022.

22

Operating Expenses

Three Months Ended

    

Six Months Ended

 

June 30, 

June 30, 

 

2023

    

2022

    

2023

    

2022

 

General and administrative

$

3,313,080

$

2,402,795

$

7,233,591

$

5,118,745

Percentage of revenue

 

20.5

%  

 

18.9

%  

 

22.9

%  

 

20.4

%

Sales and marketing

$

2,948,425

$

2,907,788

$

5,948,403

$

5,977,344

Percentage of revenue

 

18.3

%  

 

22.9

%  

 

18.8

%  

 

23.9

%

Research and development

$

961,952

$

662,599

$

1,755,666

$

1,181,694

Percentage of revenue

 

6.0

%  

 

5.2

%  

 

5.6

%  

 

4.7

%

General and Administrative

For the three months ended June 30, 2023, general and administrative expense increased $0.9 million, or 37.9 percent, to $3.3 million from $2.4 million for the same period last year. This increase is primarily due to higher legal and professional expenses and increased payroll and benefit expenses.

For the six months ended June 30, 2023, general and administrative expense increased $2.1 million, or 41.3 percent, to $7.2 million from $5.1 million for the same period last year. This increase is primarily due to higher payroll and benefits expenses offset by reduced legal and professional expenses.

Sales and Marketing

For the three months ended June 30, 2023, sales and marketing expense decreased $0.04 million, or 1.4 percent, to $2.9 million from $2.9 million for the same period last year. This decrease is primarily due to lower sales commissions, sales activities expenses, and payroll and benefits expenses.

For the six months ended June 30, 2023, sales and marketing expense decreased $0.03 million, 0.5 percent, to $5.9 million from $6.0 million for the same period last year. This increase is primarily due to higher sales commissions, sales activities expenses, and payroll and benefits expenses.

Research and Development

For the three and six months ended June 30, 2023 and 2022, research and development expense increased $0.3 million, or 45.2 percent to $1.0 million from $0.7 million for the same period last year. This is primarily due to higher consulting expenses related to our next generation pump in development, and payroll and benefits expenses offset by reductions in prototype expense.

For the six months ended June 30, 2022, research and development expense increased $0.6 million, 48.6 percent, to $1.8 million from $1.2 million for the same period last year. This is primarily due to higher payroll and benefits expenses as well as prototype and consulting expenses related to the next generation pump.

Other Income, Net

Other income, net consists of interest income, foreign currency gains and losses, and other miscellaneous income. For the three months ended June 30, 2023, other income net increased $0.3 million, to $0.3 million from $0.13 million for the same period last year. This increase is due to interest received on money market fund investments.

For the six months ended June 30, 2023 and 2022, we reported other income, net, of $677,796 and an expense of $(1,812) respectively. The change is primarily due to interest received in 2023 on money market fund investments.

23

Income Taxes

For the three and six months ended June 30, 2023, we recorded a provision for income tax expense of $1,118,582 and 2,062,171 respectively. Our effective tax rate was 21.1 percent and 21.4 percent respectively and differed from the U.S. Federal statutory rate primarily due to U.S. state income tax expense, partially offset by benefits from foreign derived intangible income and research and development tax credits.

For the three and six months ended June 30, 2022, we recorded a provision for income tax expense of $938,631 and 1,511,926 respectively. Our effective tax rate was 22.5 percent and 20.9 percent respectively and differed from the U.S. Federal statutory rate primarily due to U.S. Federal income tax expense partially offset by benefits from foreign derived intangible income and research and development tax credits.

As of June 30, 2023, and December 31, 2022, we had not identified or accrued for any uncertain tax positions. We are currently unaware of any uncertain tax positions that could result in significant payments, accruals or other material deviations in this estimate over the next 12 months. We believe that our tax positions comply in all material respects with applicable tax law. However, tax law is subject to interpretation, and interpretations by taxing authorities could be different from ours, which could result in the imposition of additional taxes and penalties.

We file tax returns in the United States Federal jurisdiction and many U.S. state jurisdictions. Our returns are not currently under examination by the Internal Revenue Service. The Company remains subject to income tax examinations for our United States Federal and certain U.S. state income taxes for 2019 and subsequent years.

Liquidity and Capital Resources

Our principal sources of liquidity have historically been our cash and cash equivalents balances, our investments, cash flow from operations and access to the financial markets. Our principal uses of cash are operating expenses, working capital requirements, capital expenditures and dividend payments, if any.

As of June 30, 2023, we had cash and cash equivalents of $45.8 million, stockholders’ equity of $68.9 million, and working capital of $58.5 million. As of December 31, 2022, we had cash and investments of $57.9 million, stockholders’ equity of $73.7 million, and working capital of $68.9 million.

We believe that our current cash, and any cash generated from operations will be sufficient to meet our ongoing operating requirements for at least the next 12 months. We have acquired land from an unrelated party and plan to make subsequent improvements thereon in the next two years to accommodate our increased operations and expand capacity. We anticipate using available cash and cash equivalents for that investment in our future growth. We do not anticipate requiring additional capital; however, if required or desirable, we may seek to obtain a credit facility, raise debt, or issue additional equity in private or public markets.

Six Months Ended

June 30, 

2023

    

2022

Net cash provided by operating activities

$

8,159,849

$

3,065,406

Net cash used in investing activities

 

(6,935,328)

 

(347,133)

Net cash used in financing activities

 

(13,362,551)

 

(12,560,284)

Cash provided by operating activities increased $5.1 million, to $8.2 million for the six months ended June 30, 2023, compared to $3.1 million for the same period in 2022. During the three months ended June 30, 2023, cash provided by operations was positively impacted by net income and cash inflows from collection of accounts receivable and negatively impacted by cash outflows to purchase inventory, and a decrease in accrued payroll from the prior period.

Cash used in investing activities increased $6.6 million, to $6.9 million for the six months ended June 30, 2023, compared to $0.3 million for the same period in 2022. During the six months ended June 30, 2023, cash used in

24

investing was primarily the result of the $6.2 million land purchase to be used for future manufacturing, research lab and office space.

Cash used in financing activities increased $0.8 million, to $13.4 for the six months ended June 30, 2023, compared to approximately $12.6 for the same period in 2022. In both periods, the company paid special dividends to our shareholders.

We market our products to end users in the U.S. and to distributors internationally. Sales to end users in the U.S. are generally made on open credit terms. Management maintains an allowance for potential credit losses.

Our current manufacturing and headquarters facility has been leased from Susi, LLC, an entity controlled by our Chairman of the Board and Chief Executive Officer, Roger Susi. Pursuant to the terms of our lease, the monthly base rent is $34,133, adjusted annually for changes in the consumer price index.

Off-Balance Sheet Arrangements

As of June 30, 2023 and December 31, 2022, we did not have any off-balance sheet arrangements, as such term is defined under Item 303 of Regulation S-K, that have or are reasonably likely to have a current or future effect on our financial condition, changes in financial condition, revenues or expenses, results of operations, liquidity, capital expenditures or capital resources that is material to investors.

Contractual Obligations

There have been no material changes outside the ordinary course of business to our contractual obligations and commercial commitments since December 31, 2022.

Recent Accounting Pronouncements

See Note 1 to the unaudited condensed financial statements contained herein for a full description of recent accounting pronouncements including the respective expected dates of adoption and status of evaluation of expected effects on results of our operations and financial condition.

Item 3. Quantitative and Qualitative Disclosures about Market Risk

Foreign Currency Exchange Risk

We have foreign currency risks related to our cost of revenue denominated in currencies other than the U.S. Dollar, principally the Japanese yen (“Yen”). The volatility of the Yen depends on many factors that we cannot forecast with reliable accuracy. We have experienced and will continue to experience fluctuations in our net income as a result of transaction gains and losses related to revaluing Yen denominated accounts payable balances. In the event our Yen denominated accounts payable or expenses increase, our operating results may be affected by fluctuations in the Yen exchange rate. If the U.S. Dollar uniformly increased or decreased in strength by 10 percent relative to the Yen, our net income would have correspondingly increased or decreased by an immaterial amount for the three and six months ended June 30, 2023 and 2022.

Item 4. Controls and Procedures

Evaluation of Disclosure Controls and Procedures

Disclosure controls and procedures (as defined in Rules 13a-15(e) and 15d-15(e)) of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), are designed to ensure that: (1) information required to be disclosed in reports filed or submitted under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in SEC rules and forms; and (2) such information is accumulated and communicated to management, including the principal executive officer and principal financial officer, as appropriate to allow timely decisions

25

regarding required disclosures. There are inherent limitations to the effectiveness of any system of disclosure controls and procedures, including the possibility of human error and the circumvention or overriding of controls and procedures. Accordingly, even effective disclosure controls and procedures can only provide reasonable assurance of achieving their control objectives.

Our management, including our Chief Executive Officer and Chief Financial Officer, evaluated the effectiveness of the design and operation of our disclosure controls and procedures as of June 30, 2023. Our Chief Executive Officer and Chief Financial Officer have concluded that our disclosure controls and procedures as of June 30, 2023 were effective.

Changes in Internal Control Over Financial Reporting

There were no changes in our internal control over financial reporting identified in connection with the evaluation required by Rules 13a-15(d) and 15d-15(d) of the Exchange Act that occurred during the period covered by this Quarterly Report on Form 10-Q that has materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

26

PART II. OTHER INFORMATION

Item 1. Legal Proceedings

We may from time to time become party to various legal proceedings or claims that arise in the ordinary course of business. Our management reviews these matters if and when they arise, and believes that the resolution of any such matters currently known will not have a material effect on our results of operations or financial position.

Item 1A. Risk Factors

We operate in a rapidly changing environment that involves a number of risks that could materially affect our business, financial condition or future results, some of which are beyond our control. The occurrence of any of these risks could harm our business, financial condition, results of operations and/or growth prospects or cause our actual results to differ materially from those contained in forward-looking statements we have made in this report and those we may make from time to time. In evaluating the Company and its business, you should carefully consider the information included in this Quarterly Report on Form 10-Q and the factors discussed under Part I, Item 1A “Risk Factors” in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022, as well as in other documents we file with the SEC. Except as described below, there have been no material changes to the risk factors previously disclosed in our Annual Report on Form 10-K for the fiscal year ended December 31, 2022.

Item 2. Unregistered Sale of Equity Securities and Use of Proceeds

None.

Item 3. Default Upon Senior Securities

Not Applicable.

Item 4. Mine Safety Disclosures.

Not Applicable.

Item 5. Other Information

None.

27

Item 6. Exhibits

Exhibit
Number

     

Description of Document

31.1

 

Certification of Chief Executive Officer pursuant to Exchange Act Rule, 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

31.2

 

Certification of Chief Financial Officer pursuant to Exchange Act Rule, 13a-14(a) and 15d-14(a), as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

32.1*

 

Certifications of Chief Executive Officer and Chief Financial Officer pursuant to 18 I.S.C Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.

101.INS**

 

Inline XBRL Instance Document

101.SCH**

 

XBRL Taxonomy Extension Schema Document

101.CAL**

 

XBRL Taxonomy Extension Calculation Linkbase Document

101.DEF**

 

XBRL Taxonomy Extension Definition Linkbase Document

101.LAB**

 

XBRL Taxonomy Extension Label Linkbase Document

101.PRE**

 

XBRL Taxonomy Extension Presentation Linkbase Document

104**

Inline XBRL for the cover page of this Quarterly Report on Form 10-Q, included as part of this Exhibit 101 inline XBRL Document set

*

This exhibit shall not be deemed “filed” for purposes of Section 18 of the Exchange Act or otherwise subject to the liabilities of that section, nor shall it be deemed incorporated by reference in any filing under the Securities Act or the Exchange Act, whether made before or after the date hereof and irrespective of any general incorporation language in any filings.

**

In accordance with Rule 402 of Regulation S-T, this interactive data file is deemed not filed or part of this Quarterly Report on Form 10-Q for purposes of Sections 11 or 12 of the Securities Act or Section 18 of the Exchange Act and otherwise is not subject to liability under these sections.

28

IRADIMED CORPORATION

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.

 

IRADIMED CORPORATION

 

 

 

Dated: August 03, 2023

/s/ Roger Susi

 

By:

Roger Susi

 

Its:  

Chief Executive Officer and President

 

 

(Principal Executive Officer and Authorized Officer)

 

/s/ John Glenn

 

By:

John Glenn

 

Its:

Chief Financial Officer

(Principal Financial and Accounting Officer)

29

EX-31.1 2 irmd-20230630xex31d1.htm EX-31.1

Exhibit 31.1

Certification of Chief Executive Officer pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

I, Roger Susi, hereby certify that:

1.

I have reviewed this quarterly report on Form 10-Q of IRADIMED CORPORATION;

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 is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b)

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

(c)

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

(d)

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

5.

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

(a)

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

(b)

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

Date: August 3, 2023

/s/ Roger Susi

By: Roger Susi

Chief Executive Officer and President

(Principal Executive Officer)


EX-31.2 3 irmd-20230630xex31d2.htm EX-31.2

Exhibit 31.2

Certification of Chief Financial Officer pursuant to Rules 13a-14(a) and 15d-14(a) under the Securities Exchange Act of 1934, as adopted pursuant to Section 302 of the Sarbanes-Oxley Act of 2002

I, John Glenn, hereby certify that:

1.

I have reviewed this quarterly report on Form 10-Q of IRADIMED CORPORATION;

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 is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b)

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

(c)

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

(d)

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

5.

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

(a)

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

(b)

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

Date: August 3, 2023

/s/ John Glenn

By: John Glenn

Chief Financial Officer

(Principal Financial and Accounting Officer)


EX-32.1 4 irmd-20230630xex32d1.htm EX-32.1

Exhibit 32.1

Certification of Chief Executive Officer and Chief Financial Officer Pursuant to 18 U.S.C. Section 1350, as Adopted Pursuant to Section 906 of the Sarbanes-Oxley Act of 2002

In connection with the quarterly report of IRADIMED CORPORATION (the “Company”) on Form 10-Q for the quarter ending June 30, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), each of the undersigned, in the capacities and on the date indicated below, hereby certifies, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that to his knowledge:

(1)

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

(2)

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

3

/s/ Roger Susi

By: Roger Susi

Chief Executive Officer and President

(Principal Executive Officer)

August 3, 2023

/s/ John Glenn

By: John Glenn

Chief Financial Officer

(Principal Financial and Accounting Officer)

August 3, 2023


EX-101.SCH 5 irmd-20230630.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONDENSED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONDENSED STATEMENTS OF OPERATIONS link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONDENSED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - CONDENSED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Revenue Recognition - Information by type (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Revenue Recognition - Contract liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Inventory, net (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Property and Equipment, net (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Intangible Assets, net (Details) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - Leases - Maturity of operating lease liability (Details) link:presentationLink link:calculationLink link:definitionLink 41203 - Disclosure - Leases - Maturity of lease liabilities (Details) Calc 2 link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Stock Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Basis of Presentation (Details) link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Revenue Recognition - Information by geographic region (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Property and Equipment, net - geographic region (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Stock-Based Compensation - Stock Options and Restricted Stock Units Activity (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Leases - Operating lease cost (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Commitments and Contingencies (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONDENSED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00305 - Statement - CONDENSED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Revenue Recognition link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Basic and Diluted Net Income per Share link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Inventory, net link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Property and Equipment, net link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Intangible Assets, net link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Accumulated Other Comprehensive Income link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 20102 - Disclosure - Basis of Presentation (Policies) link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Revenue Recognition (Tables) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Basic and Diluted Net Income per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Inventory, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Property and Equipment, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Intangible Assets, net (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Accumulated Other Comprehensive Income (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Revenue Recognition - Capitalized contract costs (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Basic and diluted net income per share (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Property and Equipment, net - Land Acquisition (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Accumulated Other Comprehensive Income (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 6 irmd-20230630_cal.xml EX-101.CAL EX-101.DEF 7 irmd-20230630_def.xml EX-101.DEF EX-101.LAB 8 irmd-20230630_lab.xml EX-101.LAB EX-101.PRE 9 irmd-20230630_pre.xml EX-101.PRE XML 10 R1.htm IDEA: XBRL DOCUMENT v3.23.2
Document and Entity Information - shares
6 Months Ended
Jun. 30, 2023
Jul. 31, 2023
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Jun. 30, 2023  
Document Transition Report false  
Entity File Number 001-36534  
Entity Registrant Name IRADIMED CORPORATION  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 73-1408526  
Entity Address, Address Line One 1025 Willa Springs Drive  
Entity Address, City or Town Winter Springs  
Entity Address, State or Province FL  
Entity Address, Postal Zip Code 32708  
City Area Code 407  
Local Phone Number 677-8022  
Title of 12(b) Security Common stock, par value $0.0001  
Trading Symbol IRMD  
Security Exchange Name NASDAQ  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Non-accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   12,602,673
Entity Central Index Key 0001325618  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2023  
Document Fiscal Period Focus Q2  
Amendment Flag false  
XML 11 R2.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED BALANCE SHEETS - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 45,822,834 $ 57,960,864
Accounts receivable, net of allowance for doubtful accounts of $331,403 as of June 30, 2023, and $160,498 as of December 31, 2022 11,082,213 13,274,521
Inventory, net 8,415,080 5,369,233
Prepaid expenses and other current assets 770,647 630,960
Prepaid income taxes   254,093
Total current assets 66,090,774 77,489,671
Property and equipment, net 8,720,273 2,399,812
Intangible assets, net 2,353,773 2,069,439
Operating lease right-of-use asset 2,247,667 2,205,286
Deferred tax asset, net 1,766,383 700,867
Other assets 252,161 648,672
Total assets 81,431,031 85,513,747
Current liabilities:    
Accounts payable 2,552,076 1,799,316
Accrued payroll and benefits 2,332,643 2,871,890
Other accrued taxes 217,496 121,919
Warranty reserve 105,479 94,030
Deferred revenue 1,714,067 3,373,122
Current portion of operating lease liabilities 413,745 293,466
Other current liabilities 250,000  
Total current liabilities 7,585,506 8,553,743
Deferred revenue 3,013,165 1,375,197
Operating lease liabilities, less current portion 1,833,922 1,911,820
Total liabilities 12,432,593 11,840,760
Stockholders' equity:    
Common stock; $0.0001 par value; 31,500,000 shares authorized; 12,594,576 shares issued and outstanding as of June 30, 2023, and 12,591,004 shares issued and outstanding as of December 31, 2022 1,260 1,259
Additional paid-in capital 27,369,898 26,407,446
Retained earnings 41,627,280 47,264,282
Total stockholders' equity 68,998,438 73,672,987
Total liabilities and stockholders' equity $ 81,431,031 $ 85,513,747
XML 12 R3.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED BALANCE SHEETS (Parenthetical) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
CONDENSED BALANCE SHEETS    
Accounts receivable, net of allowance for doubtful accounts $ 331,403 $ 160,498
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized 31,500,000 31,500,000
Common stock, shares issued 12,601,541 12,591,004
XML 13 R4.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED STATEMENTS OF OPERATIONS - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
CONDENSED STATEMENTS OF OPERATIONS        
Revenue $ 16,130,396 $ 12,721,569 $ 31,605,480 $ 25,032,279
Cost of revenue 3,943,904 2,581,806 7,697,535 5,512,992
Gross profit 12,186,492 10,139,763 23,907,945 19,519,287
Operating expenses:        
General and administrative 3,313,080 2,402,795 7,233,591 5,118,745
Sales and marketing 2,948,425 2,907,788 5,948,403 5,977,344
Research and development 961,952 662,599 1,755,666 1,181,694
Total operating expenses 7,223,457 5,973,182 14,937,660 12,277,783
Income from operations 4,963,035 4,166,581 8,970,285 7,241,504
Other income, net 335,387 13,102 677,796 (1,812)
Income before provision for income taxes 5,298,422 4,179,683 9,648,081 7,239,692
Provision for income tax expense 1,118,582 938,631 2,062,171 1,511,926
Net income $ 4,179,840 $ 3,241,052 $ 7,585,910 $ 5,727,766
Net income per share:        
Basic $ 0.33 $ 0.26 $ 0.60 $ 0.46
Diluted $ 0.33 $ 0.26 $ 0.60 $ 0.45
Weighted average shares outstanding:        
Basic 12,596,032 12,560,812 12,594,541 12,556,837
Diluted 12,723,017 12,632,755 12,706,608 12,641,424
XML 14 R5.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
CONDENSED STATEMENTS OF COMPREHENSIVE INCOME        
Net income $ 4,179,840 $ 3,241,052 $ 7,585,910 $ 5,727,766
Other comprehensive (loss) income:        
Change in fair value of available-for-sale securities, net of tax expense (benefit) of $0 and $3,532, respectively   (68)   (10,953)
Realized gain on available-for-sale securities reclassified to net income, net of tax expense of $0,000 and $0,000 respectively   (6,059)   (6,059)
Other comprehensive loss   (6,127)   (17,012)
Comprehensive income $ 4,179,840 $ 3,234,925 $ 7,585,910 $ 5,710,754
XML 15 R6.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
CONDENSED STATEMENTS OF COMPREHENSIVE INCOME        
Change in fair value of available-for-sale securities, net of tax expense (benefit) $ 0 $ (22) $ 0 $ (22)
Realized gain on available-for-sale securities reclassified to net income, net of tax expense $ 0     $ 0
XML 16 R7.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
Common Stock
Additional Paid-In Capital
Retained Earnings
Accumulated Other Comprehensive Income
Total
Beginning balances at Dec. 31, 2021 $ 1,254 $ 25,160,618 $ 46,994,922 $ 17,012 $ 72,173,806
Beginning balances (in shares) at Dec. 31, 2021 12,544,024        
Increase (Decrease) in Stockholders' Equity          
Net income     2,486,713   2,486,713
Dividends paid     (12,559,127)   (12,559,127)
Other comprehensive loss       (10,885) (10,885)
Stock-based compensation expense   453,360     453,360
Net share settlement of restricted stock units $ 1 (67,381)     (67,380)
Net share settlement of restricted stock units (in shares) 3,879        
Exercise of stock options $ 1 71,947     71,948
Exercise of stock options (in shares) 12,566        
Ending balances at Mar. 31, 2022 $ 1,256 25,618,544 36,922,508 6,127 62,548,435
Ending balances (in shares) at Mar. 31, 2022 12,560,469        
Beginning balances at Dec. 31, 2021 $ 1,254 25,160,618 46,994,922 17,012 72,173,806
Beginning balances (in shares) at Dec. 31, 2021 12,544,024        
Increase (Decrease) in Stockholders' Equity          
Net income         5,727,766
Ending balances at Jun. 30, 2022 $ 1,256 25,733,821 40,163,560   65,898,637
Ending balances (in shares) at Jun. 30, 2022 12,561,025        
Beginning balances at Mar. 31, 2022 $ 1,256 25,618,544 36,922,508 6,127 62,548,435
Beginning balances (in shares) at Mar. 31, 2022 12,560,469        
Increase (Decrease) in Stockholders' Equity          
Net income     3,241,052   3,241,052
Other comprehensive loss       $ (6,127) (6,127)
Stock-based compensation expense   121,003     121,003
Net share settlement of restricted stock units $ 556 (5,726)     (5,726)
Ending balances at Jun. 30, 2022 $ 1,256 25,733,821 40,163,560   65,898,637
Ending balances (in shares) at Jun. 30, 2022 12,561,025        
Beginning balances at Dec. 31, 2022 $ 1,259 26,407,446 47,264,282   73,672,987
Beginning balances (in shares) at Dec. 31, 2022 12,591,004        
Increase (Decrease) in Stockholders' Equity          
Net income     3,406,070   3,406,070
Dividends paid     (13,222,907)   (13,222,907)
Other comprehensive loss     (4)   (4)
Stock-based compensation expense   533,643     533,643
Net share settlement of restricted stock units   (49,878)     (49,878)
Net share settlement of restricted stock units (in shares) 3,572        
Ending balances at Mar. 31, 2023 $ 1,259 26,891,211 37,447,441   64,339,911
Ending balances (in shares) at Mar. 31, 2023 12,594,576        
Beginning balances at Dec. 31, 2022 $ 1,259 26,407,446 47,264,282   73,672,987
Beginning balances (in shares) at Dec. 31, 2022 12,591,004        
Increase (Decrease) in Stockholders' Equity          
Net income         7,585,910
Ending balances at Jun. 30, 2023 $ 1,260 27,369,898 41,627,281   68,998,438
Ending balances (in shares) at Jun. 30, 2023 12,601,541        
Beginning balances at Mar. 31, 2023 $ 1,259 26,891,211 37,447,441   64,339,911
Beginning balances (in shares) at Mar. 31, 2023 12,594,576        
Increase (Decrease) in Stockholders' Equity          
Net income     4,179,840   4,179,840
Stock-based compensation expense   568,453     568,453
Net share settlement of restricted stock units $ 1 (97,106)     (97,105)
Net share settlement of restricted stock units (in shares) 5,965        
Exercise of stock options   7,339     7,339
Exercise of stock options (in shares) 1,000        
Ending balances at Jun. 30, 2023 $ 1,260 $ 27,369,898 $ 41,627,281   $ 68,998,438
Ending balances (in shares) at Jun. 30, 2023 12,601,541        
XML 17 R8.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares
Mar. 31, 2023
Mar. 31, 2022
CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY    
Dividends Paid Amount Per Share $ 1.05 $ 1.00
XML 18 R9.htm IDEA: XBRL DOCUMENT v3.23.2
CONDENSED STATEMENTS OF CASH FLOWS - USD ($)
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Operating activities:    
Net income $ 7,585,910 $ 5,727,766
Adjustments to reconcile net income to net cash provided by operating activities:    
Change in allowance for doubtful accounts 170,905 21,370
Change in provision for excess and obsolete inventory 167,383 19,824
Depreciation and amortization 369,908 928,101
(Gain) on disposal of property and equipment 3,852 (4,894)
Stock-based compensation 1,102,096 574,363
Deferred income taxes, net (1,065,516) (144,948)
Loss on maturities of investments   (8,025)
Changes in operating assets and liabilities:    
Accounts receivable 2,021,403 (3,295,542)
Inventory (4,212,765) (587,502)
Prepaid expenses and other current assets 57,568 (451,276)
Other assets 541,548 10,419
Accounts payable 1,709,063 (15,622)
Accrued payroll and benefits (539,247) (545,393)
Other accrued taxes 95,577 95,055
Warranty reserve 11,449 (8,111)
Deferred revenue (363,379) (253,074)
Other current liabilities 250,000 (7,995)
Prepaid income taxes 254,093 1,010,890
Net cash provided by operating activities 8,159,848 3,065,406
Investing activities:    
Proceeds from maturities of investments   500,000
Purchases of property and equipment (6,600,521) (371,935)
Capitalized intangible assets (334,807) (475,198)
Net cash used in investing activities (6,935,328) (347,133)
Financing activities:    
Dividends paid (13,222,907) (12,559,127)
Proceeds from exercises of stock options 7,339 71,949
Taxes paid related to the net share settlement of equity awards (146,983) (73,106)
Net cash used in financing activities (13,362,551) (12,560,284)
Net decrease in cash and cash equivalents (12,138,031) (9,842,011)
Cash and cash equivalents, beginning of period 57,960,864 61,999,550
Cash and cash equivalents, end of period 45,822,833 52,157,539
Supplemental disclosure of cash flow information:    
Cash paid for income taxes 2,756,152 757,137
ROU asset recognized in exchange for new lease obligation 227,982  
Operating and short-term lease payments recorded within cash flow provided by operating activities $ 324,362 $ 257,117
XML 19 R10.htm IDEA: XBRL DOCUMENT v3.23.2
Basis of Presentation
6 Months Ended
Jun. 30, 2023
Basis of Presentation  
Basis of Presentation

1 — Basis of Presentation

The accompanying interim condensed financial statements of IRADIMED CORPORATION (“IRADIMED”, the “Company”, “we”, “our”) have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Certain information and footnote disclosures normally presented in annual financial statements prepared in accordance with U.S. generally accepted accounting principles (“GAAP”) have been condensed or omitted pursuant to such rules and regulations. The interim financial information is unaudited, but reflects all normal adjustments that are, in the opinion of management, necessary for the fair presentation of our financial position, results of operations and cash flows for the interim periods presented. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023, and other interim periods, or future years or periods.

The accompanying interim condensed financial statements should be read in conjunction with the financial statements and related footnotes to financial statements included in our Annual Report on Form 10-K for the year ended December 31, 2022. The accounting policies followed in the preparation of these interim condensed financial statements, except as described in Note 1, are consistent in all material respects with those described in Note 1 of our Form 10-K.

We operate in one reportable segment which is the development, manufacture and sale of Magnetic Resonance Imaging (“MRI”) compatible medical devices, related accessories, disposables and service for use primarily by hospitals and acute care facilities during MRI procedures.

Certain Significant Risks and Uncertainties

We market our products to end users in the United States and to third-party distributors internationally. Sales to end users in the United States are generally made on open credit terms. Management maintains an allowance for potential credit losses.

We have deposited our cash and cash equivalents with various financial institutions. Our cash and cash equivalents balances exceed federally insured limits regularly throughout the year. We have not incurred any losses related to these balances.

Our medical devices require clearance from the FDA and international regulatory agencies prior to commercialized sales. Our future products may not receive required approvals. If we were denied such approvals, or if such approvals were revoked or delayed or if we were unable to timely renew certain approvals for existing products, it would have a materially adverse impact on our business, results of operations and financial condition.

Certain key components of our products essential to their functionality are sole-sourced. Any disruption in the availability of these components would have a materially adverse impact on our business, results of operations and financial condition.

Recent Accounting Pronouncements

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which requires the Company to measure and recognize expected credit losses for financial assets held and not accounted for at fair value through net income. In November 2018, April 2019 and May 2019, the FASB issued ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments - Credit Losses, ASU 2019-04, Codification Improvements to Topic 326, Financial Instruments - Credit Losses and ASU 2019-05, Financial Instruments - Credit Losses (Topic 326): Targeted Transition Relief, which provided additional implementation guidance on ASU 2016-03. We have adopted previously mentioned ASU starting January 1, 2023 and it did not result in a material impact on our financial condition, results of operations or cash flows.

XML 20 R11.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue Recognition
6 Months Ended
Jun. 30, 2023
Revenue Recognition  
Revenue Recognition

2 — Revenue Recognition

Disaggregation of Revenue

We disaggregate revenue from contracts with customers by geographic region and revenue type as we believe it best depicts the nature, amount, timing and uncertainty of our revenue and cash flow.

Revenue information by geographic region is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

United States

$

12,949,526

$

10,816,691

$

24,928,050

$

20,796,032

International

 

3,180,870

 

1,904,878

 

6,677,430

 

4,236,247

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Revenue information by type is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

Devices:

  

 

  

 

  

 

  

MRI Compatible IV Infusion Pump Systems

$

4,522,568

$

3,853,016

$

10,061,383

$

7,134,955

MRI Compatible Patient Vital Signs Monitoring Systems

 

6,128,718

 

4,921,619

 

10,825,536

 

10,116,370

Ferro Magnetic Detection Systems

 

183,190

 

 

480,779

 

Total Devices revenue

 

10,834,476

 

8,774,635

 

21,367,698

 

17,251,325

Disposables, services and other

 

4,815,870

 

3,430,005

 

9,250,612

 

6,748,907

Amortization of extended warranty agreements

 

480,050

 

516,929

 

987,170

 

1,032,047

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Contract Liabilities

Our contract liabilities consist of:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Advance payments from customers

$

342,292

$

896,617

Shipments in-transit

 

19,833

 

14,696

Extended warranty agreements

 

4,365,107

 

3,837,006

Total

$

4,727,232

$

4,748,319

Changes in the contract liabilities during the periods presented are as follows:

Deferred

Revenue

(unaudited)

Contract liabilities, December 31, 2022

$

4,748,319

Increases due to cash received from customers

 

2,464,337

Decreases due to recognition of revenue

 

(2,485,424)

Contract liabilities, June 30, 2023

$

4,727,232

Deferred

Revenue

(unaudited)

Contract liabilities, December 31, 2021

$

4,232,439

Increases due to cash received from customers

 

1,969,841

Decreases due to recognition of revenue

 

(2,288,798)

Contract liabilities, June 30, 2022

$

3,913,482

Capitalized Contract Costs

Our capitalized contract costs totaled $199,776 and $340,044 as of June 30, 2023 and December 31, 2022, respectively, and are classified as other assets on the unaudited condensed balance sheet.

XML 21 R12.htm IDEA: XBRL DOCUMENT v3.23.2
Basic and Diluted Net Income per Share
6 Months Ended
Jun. 30, 2023
Basic and Diluted Net Income per Share  
Basic and Diluted Net Income per Share

3 — Basic and Diluted Net Income per Share

Basic net income per share is based upon the weighted-average number of common shares outstanding during the period. Diluted net income per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock. Stock options, restricted stock units and performance-based restricted stock units granted by us represent the only dilutive effect reflected in diluted weighted-average shares outstanding.

The following table presents the computation of basic and diluted net income per share:

Three Months Ended June 30, 

    

Six Months Ended June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

Net income

$

4,179,840

$

3,241,052

$

7,585,910

$

5,727,766

Weighted-average shares outstanding — Basic

 

12,596,032

 

12,560,812

 

12,594,541

 

12,556,837

Effect of dilutive securities:

 

  

 

  

 

  

 

  

Stock options

 

19,333

 

19,168

 

18,893

 

22,784

Restricted stock units

 

69,112

 

52,775

57,610

 

61,803

Performance-based restricted stock units

 

38,540

 

 

35,564

 

Weighted-average shares outstanding — Diluted

 

12,723,017

 

12,632,755

 

12,706,608

 

12,641,424

Basic net income per share

$

0.33

$

0.26

$

0.60

$

0.46

Diluted net income per share

$

0.33

$

0.26

$

0.60

$

0.45

Stock options and restricted stock units excluded from the calculation of diluted net income per share because the effect would have been anti-dilutive are as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

2022

2023

2022

(unaudited)

(unaudited)

Anti-dilutive stock options and restricted stock units

 

30,728

 

11,141

 

25,197

XML 22 R13.htm IDEA: XBRL DOCUMENT v3.23.2
Inventory, net
6 Months Ended
Jun. 30, 2023
Inventory, net.  
Inventory, net

4 — Inventory, net

Inventory consists of:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Raw materials

$

7,106,304

$

4,827,113

Work in process

 

754,670

 

369,761

Finished goods

 

960,776

 

411,647

Inventory before allowance for excess and obsolete

 

8,821,750

 

5,608,521

Allowance for excess and obsolete

 

(406,670)

 

(239,288)

Total

$

8,415,080

$

5,369,233

XML 23 R14.htm IDEA: XBRL DOCUMENT v3.23.2
Property and Equipment, net
6 Months Ended
Jun. 30, 2023
Property and Equipment, net  
Property and Equipment, net

5 — Property and Equipment, net

Property and equipment consist of:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Land

$

6,200,000

$

Computer software and hardware

1,271,277

1,121,455

Furniture and fixtures

 

1,695,772

 

1,573,587

Leasehold improvements

 

266,082

 

259,146

Machinery and equipment

 

2,419,147

 

2,210,181

Fixed assets in-process

 

617,760

 

665,773

 

12,470,038

 

5,830,142

Accumulated depreciation

 

(3,749,765)

 

(3,430,330)

Total

$

8,720,273

$

2,399,812

Depreciation expense of property and equipment was $162,121 and $142,710 for the three months ended June 30, 2023 and 2022, respectively, and $319,435 and $277,581 for the six months ended June 30, 2023 and 2022, respectively.

Land Acquisition

On February 2, 2023, the Company entered into a reinstatement and amendment to the previously announced sale and purchase agreement with O Property, Ltd., a Florida limited partnership dated as of November 1, 2022, pursuant to which the parties agreed to consummate a sale of real property located in Orange County, Florida. Pursuant to the terms of the Reinstatement, the parties consummated the sale of approximately 26.5 acres of land to the Company for a purchase price of $6,200,000. The property was acquired as a site for future development of manufacturing, research labs, and office space to accommodate our increased operations and anticipated growth.

Property and equipment, net, information by geographic region is as follows:

June 30, 

    

December 31, 

2023

2022

(unaudited)

United States

$

8,528,821

$

2,248,308

International

 

191,452

 

151,504

Total property and equipment, net

$

8,720,273

$

2,399,812

Long-lived assets held outside of the United States consist principally of tooling and machinery and equipment, which are components of property and equipment, net.

XML 24 R15.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net
6 Months Ended
Jun. 30, 2023
Intangible Assets, net  
Intangible Assets, net

6 — Intangible Assets, net

The following table summarizes the components of intangible asset balances:

June 30, 

    

December 31, 

2023

2022

(unaudited)

Patents — in use

$

321,874

$

321,873

Patents — fully amortized

 

70,164

 

70,164

Patents — in process

 

127,108

 

123,153

Internally developed software — in use

 

872,218

 

872,218

Internally developed software — in process

 

1,820,173

 

1,489,322

Trademarks

 

27,697

 

27,697

 

3,239,234

 

2,904,427

Accumulated amortization

 

(885,461)

 

(834,988)

Total

$

2,353,773

$

2,069,439

Amortization expense of intangible assets was $25,236 and $25,393 for the three months ended June 30, 2023 and 2022, respectively, and $50,473 and $50,649 for the six months ended June 30, 2023 and 2022, respectively.

Expected annual amortization expense for the remaining portion of 2023 and the next five years related to intangible assets is as follows (excludes in process intangible assets):

Six months ending December 31,2023

$

50,473

2024

$

100,544

2025

$

97,374

2026

$

85,658

2027

$

11,945

2028

$

9,343

XML 25 R16.htm IDEA: XBRL DOCUMENT v3.23.2
Fair Value Measurements
6 Months Ended
Jun. 30, 2023
Fair Value Measurements  
Fair Value Measurements

7 — Fair Value Measurements

The fair values of cash equivalents, accounts receivables, net and accounts payable approximate their carrying amounts due to their short duration.

As of June 30, 2023 we did not have any asset or liabilities subject to recurring fair value measurements.

XML 26 R17.htm IDEA: XBRL DOCUMENT v3.23.2
Accumulated Other Comprehensive Income
6 Months Ended
Jun. 30, 2023
Accumulated Other Comprehensive Income  
Accumulated Other Comprehensive Income

8 — Accumulated Other Comprehensive Income

The components of accumulated other comprehensive income, net of tax, for the three months ended June 30, 2023 and 2022 are as follows:

Unrealized (Losses)

Gains on

Available-For-Sale

Securities

(unaudited)

Balance at March 31, 2023

$

(Gain) Loss on available-for-sale securities, net

 

Reclassification realized in net earnings

 

Balance at June 30, 2023

$

Balance at March 31, 2022

$

6,127

(Gain) Loss on available-for-sale securities, net

 

(68)

Reclassification realized in net earnings

 

(6,059)

Balance at June 30, 2022

$

The components of accumulated other comprehensive income, net of tax, for the six months ended June 30, 2023 and 2022 are as follows:

Unrealized (Losses)

Gains on

Available-For-Sale

Securities

(unaudited)

Balance at December 31, 2022

$

(Gain) Loss on available-for-sale securities, net

 

Reclassification realized in net earnings

 

Balance at June 30, 2023

$

Balance at December 31, 2021

$

17,012

(Gain) Loss on available-for-sale securities, net

 

(10,953)

Reclassification realized in net earnings

 

(6,059)

Balance at June 30, 2022

$

XML 27 R18.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation
6 Months Ended
Jun. 30, 2023
Stock-Based Compensation  
Stock-Based Compensation

9 — Stock-Based Compensation

Stock-based compensation was recognized as follows in the unaudited Condensed Statements of Operations:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

    

2023

    

2022

(unaudited)

(unaudited)

Cost of revenue

$

62,430

$

7,955

$

124,173

$

87,379

General and administrative

 

291,346

 

10,604

 

580,730

 

207,374

Sales and marketing

 

169,160

 

62,253

 

306,367

 

199,675

Research and development

 

45,518

 

40,191

 

90,827

 

79,935

Total

$

568,454

$

121,003

$

1,102,097

$

574,363

As of June 30, 2023, we had $3,326,259 of unrecognized compensation cost related to unvested restricted stock units, which is expected to be recognized over a weighted-average period of 2.46 years. As of June 30, 2023, we had

$730,618 of unrecognized compensation cost related to unvested performance-based restricted stock units, which is expected to be recognized over a weighted-average period of 2.21 years.

The following table presents a summary of our equity award activity for the six months ended June 30, 2023 (shares):

    

    

    

Performance

Based

Stock

Restricted

Restricted

Options

Stock Units

Stock Units

Outstanding beginning of period

24,010

 

151,337

 

27,884

Awards granted

 

3,656

 

Awards exercised/vested

(1,000)

 

(13,001)

 

Awards canceled/ forfeited

 

(70)

 

Outstanding end of period

23,010

 

141,922

 

27,884

XML 28 R19.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes
6 Months Ended
Jun. 30, 2023
Income Taxes  
Income Taxes

10 — Income Taxes

For the three and six months ended June 30, 2023, we recorded a provision for income tax expense of $1,118,582 and $2,062,171, respectively. Our effective tax rate was 21.1 percent and 21.4 percent, respectively, and differed from the U.S. Federal statutory rate primarily due to U.S. state income tax expense, partially offset by benefits from foreign derived intangible income and research and development tax credits.

For the three and six months ended June 30, 2022, we recorded a provision for income tax expense of $938,631 and $1,511,926 respectively. Our effective tax rate was 22.5 percent and 20.9 percent respectively and differed from the U.S. Federal statutory rate primarily due to U.S. Federal income tax expense, partially offset by benefits from foreign derived intangible income and research and development tax credits.

As of June 30, 2023 and December 31, 2022, we had not identified or accrued for any uncertain tax positions. We are currently unaware of any uncertain tax positions that could result in significant payments, accruals, or other material deviations in this estimate over the next 12 months. We believe that our tax positions comply in all material respects with applicable tax law. However, tax law is subject to interpretation, and interpretations by taxing authorities could be different from ours, which could result in the imposition of additional taxes and penalties.

We file tax returns in the United States Federal jurisdiction and many U.S. state jurisdictions. Our returns are not currently under examination by the Internal Revenue Service. The Company remains subject to income tax examinations for our United States Federal and certain U.S. state income taxes for 2019 and subsequent years.

XML 29 R20.htm IDEA: XBRL DOCUMENT v3.23.2
Leases
6 Months Ended
Jun. 30, 2023
Leases  
Leases

11 — Leases

We have entered into operating lease contracts for our manufacturing plant, office space, and various office equipment with one material lease contract outstanding.

In January 2014, we entered into a non-cancelable operating lease, commencing July 1, 2014, for our manufacturing and headquarters facility in Winter Springs, Florida owned by Susi, LLC, an entity controlled by our President, Chief Executive Officer, and Chairman of the Board, Roger Susi. Pursuant to the terms of our lease for this property, the monthly base rent is $34,133, adjusted annually for changes in the consumer price index. For the three months ended June 30, 2023 and 2022, the Company paid Susi, LLC $127,817 and $118,504 respectively. For the six months ended June 30, 2023 and 2022, the Company paid Susi, LLC $255,635 and $237,008 respectively. For the year ended December 31, 2022, the Company paid Susi, LLC $492,643 related to this lease. Under the terms of the lease, we are responsible for insurance and maintenance expenses. Prior to May 31, 2019, the expiration date of the initial lease term, and pursuant to the terms of the lease contract, we renewed the lease for an additional five years, resulting in a new lease expiration date of May 31, 2024. Unless advance written notice of termination is timely provided, the lease will automatically renew for one additional successive term of five years beginning in 2024, and thereafter, will be renewed

for successive terms of one year each. At the time we adopted ASU 2016-02, Leases (Topic 842), we concluded that we would exercise the remaining five-year option, resulting in a remaining lease term of 6.8 years as of June 30, 2023. This lease agreement does not contain any residual value guarantee or material restrictive covenants.

In February 2023, we entered into two, two-year, non-cancelable operating leases with non-related parties for additional office space in Winter Springs, Florida. Pursuant to the lease terms the total monthly base rent is $10,055. For the three months ended June 30, 2023 and 2022, the Company paid $30,165 and $0 respectively. For the six months ended June 30, 2023 and 2022, the Company paid $52,975 and $0 respectively. Under the terms of the lease, we are responsible for insurance and maintenance expenses. Pursuant to the contract terms, the leases will expire February 2025 and do not contain any residual value guarantee or material restrictive covenants.

We will reassess the lease accounting terms and assumptions once the details regarding completion of a new manufacturing facility and planned departure of the current primary facility is finalized.

Operating lease cost recognized in the unaudited Condensed Statements of Operations is as follows:

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

2022

2023

2022

(unaudited)

(unaudited)

Cost of revenue

$

58,086

    

$

53,854

    

$

116,172

    

$

107,708

General and administrative

 

92,206

 

54,710

 

183,676

 

109,420

Sales and marketing

 

3,251

 

3,014

 

6,501

 

6,028

Research and development

 

9,006

 

8,350

 

18,013

 

16,700

Total

$

162,549

$

119,928

$

324,362

$

239,856

Lease costs for short-term leases were immaterial for the three and six months ended June 30, 2023, and 2022.

Maturity of our operating lease liability as of June 30, 2023, is as follows:

Six months ending December 31, 2023

$

269,657

2024

 

535,954

2025

 

415,294

2026

 

409,596

2027

 

409,596

Thereafter

 

594,446

Total lease payments

 

2,634,543

Imputed interest

 

(386,876)

Present value of lease liability

$

2,247,667

XML 30 R21.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies
6 Months Ended
Jun. 30, 2023
Commitments and Contingencies  
Commitments and Contingencies

12 — Commitments and Contingencies

Purchase commitments. We had various purchase orders for goods or services totaling $14,802,094 and $8,021,403 as of June 30, 2023 and December 31, 2022, respectively. Amounts recognized in our balance sheet related to these purchase orders were immaterial.

Legal matters. We may, from time to time, become a party to various legal proceedings or claims that arise in the ordinary course of business. As of June 30, 2023 and December 31, 2022, we had accrued approximately $250,000 and $0, respectively, related to various matters.

XML 31 R22.htm IDEA: XBRL DOCUMENT v3.23.2
Basis of Presentation (Policies)
6 Months Ended
Jun. 30, 2023
Basis of Presentation  
Basis of Presentation

The accompanying interim condensed financial statements of IRADIMED CORPORATION (“IRADIMED”, the “Company”, “we”, “our”) have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Certain information and footnote disclosures normally presented in annual financial statements prepared in accordance with U.S. generally accepted accounting principles (“GAAP”) have been condensed or omitted pursuant to such rules and regulations. The interim financial information is unaudited, but reflects all normal adjustments that are, in the opinion of management, necessary for the fair presentation of our financial position, results of operations and cash flows for the interim periods presented. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023, and other interim periods, or future years or periods.

The accompanying interim condensed financial statements should be read in conjunction with the financial statements and related footnotes to financial statements included in our Annual Report on Form 10-K for the year ended December 31, 2022. The accounting policies followed in the preparation of these interim condensed financial statements, except as described in Note 1, are consistent in all material respects with those described in Note 1 of our Form 10-K.

We operate in one reportable segment which is the development, manufacture and sale of Magnetic Resonance Imaging (“MRI”) compatible medical devices, related accessories, disposables and service for use primarily by hospitals and acute care facilities during MRI procedures.

Certain Significant Risks and Uncertainties

Certain Significant Risks and Uncertainties

We market our products to end users in the United States and to third-party distributors internationally. Sales to end users in the United States are generally made on open credit terms. Management maintains an allowance for potential credit losses.

We have deposited our cash and cash equivalents with various financial institutions. Our cash and cash equivalents balances exceed federally insured limits regularly throughout the year. We have not incurred any losses related to these balances.

Our medical devices require clearance from the FDA and international regulatory agencies prior to commercialized sales. Our future products may not receive required approvals. If we were denied such approvals, or if such approvals were revoked or delayed or if we were unable to timely renew certain approvals for existing products, it would have a materially adverse impact on our business, results of operations and financial condition.

Certain key components of our products essential to their functionality are sole-sourced. Any disruption in the availability of these components would have a materially adverse impact on our business, results of operations and financial condition.

Recent Accounting Pronouncements

Recent Accounting Pronouncements

Recently Issued Accounting Pronouncements

In June 2016, the FASB issued ASU 2016-13, Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments, which requires the Company to measure and recognize expected credit losses for financial assets held and not accounted for at fair value through net income. In November 2018, April 2019 and May 2019, the FASB issued ASU 2018-19, Codification Improvements to Topic 326, Financial Instruments - Credit Losses, ASU 2019-04, Codification Improvements to Topic 326, Financial Instruments - Credit Losses and ASU 2019-05, Financial Instruments - Credit Losses (Topic 326): Targeted Transition Relief, which provided additional implementation guidance on ASU 2016-03. We have adopted previously mentioned ASU starting January 1, 2023 and it did not result in a material impact on our financial condition, results of operations or cash flows.

XML 32 R23.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue Recognition (Tables)
6 Months Ended
Jun. 30, 2023
Revenue Recognition  
Schedule of disaggregation of revenue by geographic region and revenue type

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

United States

$

12,949,526

$

10,816,691

$

24,928,050

$

20,796,032

International

 

3,180,870

 

1,904,878

 

6,677,430

 

4,236,247

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

Devices:

  

 

  

 

  

 

  

MRI Compatible IV Infusion Pump Systems

$

4,522,568

$

3,853,016

$

10,061,383

$

7,134,955

MRI Compatible Patient Vital Signs Monitoring Systems

 

6,128,718

 

4,921,619

 

10,825,536

 

10,116,370

Ferro Magnetic Detection Systems

 

183,190

 

 

480,779

 

Total Devices revenue

 

10,834,476

 

8,774,635

 

21,367,698

 

17,251,325

Disposables, services and other

 

4,815,870

 

3,430,005

 

9,250,612

 

6,748,907

Amortization of extended warranty agreements

 

480,050

 

516,929

 

987,170

 

1,032,047

Total revenue

$

16,130,396

$

12,721,569

$

31,605,480

$

25,032,279

Schedule of contract liabilities and changes in the contract liabilities

June 30, 

    

December 31, 

2023

2022

(unaudited)

Advance payments from customers

$

342,292

$

896,617

Shipments in-transit

 

19,833

 

14,696

Extended warranty agreements

 

4,365,107

 

3,837,006

Total

$

4,727,232

$

4,748,319

Deferred

Revenue

(unaudited)

Contract liabilities, December 31, 2022

$

4,748,319

Increases due to cash received from customers

 

2,464,337

Decreases due to recognition of revenue

 

(2,485,424)

Contract liabilities, June 30, 2023

$

4,727,232

Deferred

Revenue

(unaudited)

Contract liabilities, December 31, 2021

$

4,232,439

Increases due to cash received from customers

 

1,969,841

Decreases due to recognition of revenue

 

(2,288,798)

Contract liabilities, June 30, 2022

$

3,913,482

XML 33 R24.htm IDEA: XBRL DOCUMENT v3.23.2
Basic and Diluted Net Income per Share (Tables)
6 Months Ended
Jun. 30, 2023
Basic and Diluted Net Income per Share  
Schedule of computation of basic and diluted net income per share

Three Months Ended June 30, 

    

Six Months Ended June 30, 

2023

    

2022

2023

    

2022

(unaudited)

(unaudited)

Net income

$

4,179,840

$

3,241,052

$

7,585,910

$

5,727,766

Weighted-average shares outstanding — Basic

 

12,596,032

 

12,560,812

 

12,594,541

 

12,556,837

Effect of dilutive securities:

 

  

 

  

 

  

 

  

Stock options

 

19,333

 

19,168

 

18,893

 

22,784

Restricted stock units

 

69,112

 

52,775

57,610

 

61,803

Performance-based restricted stock units

 

38,540

 

 

35,564

 

Weighted-average shares outstanding — Diluted

 

12,723,017

 

12,632,755

 

12,706,608

 

12,641,424

Basic net income per share

$

0.33

$

0.26

$

0.60

$

0.46

Diluted net income per share

$

0.33

$

0.26

$

0.60

$

0.45

Schedule of stock options and restricted stock units excluded from the calculation of diluted net income per share

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

2022

2023

2022

(unaudited)

(unaudited)

Anti-dilutive stock options and restricted stock units

 

30,728

 

11,141

 

25,197

XML 34 R25.htm IDEA: XBRL DOCUMENT v3.23.2
Inventory, net (Tables)
6 Months Ended
Jun. 30, 2023
Inventory, net.  
Schedule of inventory

June 30, 

    

December 31, 

2023

2022

(unaudited)

Raw materials

$

7,106,304

$

4,827,113

Work in process

 

754,670

 

369,761

Finished goods

 

960,776

 

411,647

Inventory before allowance for excess and obsolete

 

8,821,750

 

5,608,521

Allowance for excess and obsolete

 

(406,670)

 

(239,288)

Total

$

8,415,080

$

5,369,233

XML 35 R26.htm IDEA: XBRL DOCUMENT v3.23.2
Property and Equipment, net (Tables)
6 Months Ended
Jun. 30, 2023
Property and Equipment, net  
Schedule of property and equipment

June 30, 

    

December 31, 

2023

2022

(unaudited)

Land

$

6,200,000

$

Computer software and hardware

1,271,277

1,121,455

Furniture and fixtures

 

1,695,772

 

1,573,587

Leasehold improvements

 

266,082

 

259,146

Machinery and equipment

 

2,419,147

 

2,210,181

Fixed assets in-process

 

617,760

 

665,773

 

12,470,038

 

5,830,142

Accumulated depreciation

 

(3,749,765)

 

(3,430,330)

Total

$

8,720,273

$

2,399,812

Schedule of property and equipment, net, information by geographic region

June 30, 

    

December 31, 

2023

2022

(unaudited)

United States

$

8,528,821

$

2,248,308

International

 

191,452

 

151,504

Total property and equipment, net

$

8,720,273

$

2,399,812

XML 36 R27.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net (Tables)
6 Months Ended
Jun. 30, 2023
Intangible Assets, net  
Summary of the components of intangible asset balances

June 30, 

    

December 31, 

2023

2022

(unaudited)

Patents — in use

$

321,874

$

321,873

Patents — fully amortized

 

70,164

 

70,164

Patents — in process

 

127,108

 

123,153

Internally developed software — in use

 

872,218

 

872,218

Internally developed software — in process

 

1,820,173

 

1,489,322

Trademarks

 

27,697

 

27,697

 

3,239,234

 

2,904,427

Accumulated amortization

 

(885,461)

 

(834,988)

Total

$

2,353,773

$

2,069,439

Schedule of expected annual amortization expense related to intangible assets (excludes in process intangible assets)

Six months ending December 31,2023

$

50,473

2024

$

100,544

2025

$

97,374

2026

$

85,658

2027

$

11,945

2028

$

9,343

XML 37 R28.htm IDEA: XBRL DOCUMENT v3.23.2
Accumulated Other Comprehensive Income (Tables)
6 Months Ended
Jun. 30, 2023
Accumulated Other Comprehensive Income  
Schedule of component of accumulated other comprehensive income related to unrealized gains and (losses)

Unrealized (Losses)

Gains on

Available-For-Sale

Securities

(unaudited)

Balance at March 31, 2023

$

(Gain) Loss on available-for-sale securities, net

 

Reclassification realized in net earnings

 

Balance at June 30, 2023

$

Balance at March 31, 2022

$

6,127

(Gain) Loss on available-for-sale securities, net

 

(68)

Reclassification realized in net earnings

 

(6,059)

Balance at June 30, 2022

$

The components of accumulated other comprehensive income, net of tax, for the six months ended June 30, 2023 and 2022 are as follows:

Unrealized (Losses)

Gains on

Available-For-Sale

Securities

(unaudited)

Balance at December 31, 2022

$

(Gain) Loss on available-for-sale securities, net

 

Reclassification realized in net earnings

 

Balance at June 30, 2023

$

Balance at December 31, 2021

$

17,012

(Gain) Loss on available-for-sale securities, net

 

(10,953)

Reclassification realized in net earnings

 

(6,059)

Balance at June 30, 2022

$

XML 38 R29.htm IDEA: XBRL DOCUMENT v3.23.2
Stock Based Compensation (Tables)
6 Months Ended
Jun. 30, 2023
Stock-Based Compensation  
Schedule of stock-based compensation

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

    

2022

    

2023

    

2022

(unaudited)

(unaudited)

Cost of revenue

$

62,430

$

7,955

$

124,173

$

87,379

General and administrative

 

291,346

 

10,604

 

580,730

 

207,374

Sales and marketing

 

169,160

 

62,253

 

306,367

 

199,675

Research and development

 

45,518

 

40,191

 

90,827

 

79,935

Total

$

568,454

$

121,003

$

1,102,097

$

574,363

Schedule of stock-based compensation activity

    

    

    

Performance

Based

Stock

Restricted

Restricted

Options

Stock Units

Stock Units

Outstanding beginning of period

24,010

 

151,337

 

27,884

Awards granted

 

3,656

 

Awards exercised/vested

(1,000)

 

(13,001)

 

Awards canceled/ forfeited

 

(70)

 

Outstanding end of period

23,010

 

141,922

 

27,884

XML 39 R30.htm IDEA: XBRL DOCUMENT v3.23.2
Leases (Tables)
6 Months Ended
Jun. 30, 2023
Leases  
Schedule of operating lease cost

Three Months Ended

    

Six Months Ended

June 30, 

June 30, 

2023

2022

2023

2022

(unaudited)

(unaudited)

Cost of revenue

$

58,086

    

$

53,854

    

$

116,172

    

$

107,708

General and administrative

 

92,206

 

54,710

 

183,676

 

109,420

Sales and marketing

 

3,251

 

3,014

 

6,501

 

6,028

Research and development

 

9,006

 

8,350

 

18,013

 

16,700

Total

$

162,549

$

119,928

$

324,362

$

239,856

Schedule of maturity of operating lease liability

Six months ending December 31, 2023

$

269,657

2024

 

535,954

2025

 

415,294

2026

 

409,596

2027

 

409,596

Thereafter

 

594,446

Total lease payments

 

2,634,543

Imputed interest

 

(386,876)

Present value of lease liability

$

2,247,667

XML 40 R31.htm IDEA: XBRL DOCUMENT v3.23.2
Basis of Presentation (Details)
6 Months Ended
Jun. 30, 2023
segment
Basis of Presentation  
Number of Reportable Segments 1
XML 41 R32.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue Recognition - Information by geographic region (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Contract Liabilities        
Total revenue $ 16,130,396 $ 12,721,569 $ 31,605,480 $ 25,032,279
United States        
Contract Liabilities        
Total revenue 12,949,526 10,816,691 24,928,050 20,796,032
International        
Contract Liabilities        
Total revenue $ 3,180,870 $ 1,904,878 $ 6,677,430 $ 4,236,247
XML 42 R33.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue Recognition - Information by type (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Disaggregation of Revenue        
Total Devices revenue $ 10,834,476 $ 8,774,635 $ 21,367,698 $ 17,251,325
Disposables, service and other 4,815,870 3,430,005 9,250,612 6,748,907
Amortization of extended warranty agreements 480,050 516,929 987,170 1,032,047
Total revenue 16,130,396 12,721,569 31,605,480 25,032,279
MRI compatible IV infusion pump system        
Disaggregation of Revenue        
Total Devices revenue 4,522,568 3,853,016 10,061,383 7,134,955
MRI compatible patient vital signs monitoring systems        
Disaggregation of Revenue        
Total Devices revenue 6,128,718 $ 4,921,619 10,825,536 $ 10,116,370
Ferro Magnetic Detection Systems        
Disaggregation of Revenue        
Total Devices revenue $ 183,190   $ 480,779  
XML 43 R34.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue Recognition - Contract liabilities (Details) - USD ($)
6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Deferred Revenue      
Advance payments from customers $ 342,292   $ 896,617
Shipments in-transit 19,833   14,696
Extended warranty agreements 4,365,107   3,837,006
Total 4,727,232 $ 3,913,482 $ 4,748,319
Changes in contract liabilities      
Contract liabilities, beginning balance 4,748,319 4,232,439  
Increases due to cash received from customers 2,464,337 1,969,841  
Decreases due to recognition of revenue (2,485,424) (2,288,798)  
Contract liabilities, ending balance $ 4,727,232 $ 3,913,482  
XML 44 R35.htm IDEA: XBRL DOCUMENT v3.23.2
Revenue Recognition - Capitalized contract costs (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Revenue Recognition    
Capitalized contract costs $ 199,776 $ 340,044
XML 45 R36.htm IDEA: XBRL DOCUMENT v3.23.2
Basic and diluted net income per share (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Mar. 31, 2023
Jun. 30, 2022
Mar. 31, 2022
Jun. 30, 2023
Jun. 30, 2022
Basic and Diluted Net Income Per Share            
Net income $ 4,179,840 $ 3,406,070 $ 3,241,052 $ 2,486,713 $ 7,585,910 $ 5,727,766
Weighted-average shares outstanding - Basic 12,596,032   12,560,812   12,594,541 12,556,837
Effect of dilutive securities:            
Stock options 19,333   19,168   18,893 22,784
Restricted stock units 69,112   52,775   57,610 61,803
Performance-based restricted stock units 38,540       35,564  
Weighted-average shares outstanding - Diluted (in shares) 12,723,017   12,632,755   12,706,608 12,641,424
Basic net income per share (in dollars per share) $ 0.33   $ 0.26   $ 0.60 $ 0.46
Diluted net income per share (in dollars per share) $ 0.33   $ 0.26   $ 0.60 $ 0.45
Anti-dilutive stock            
Anti-dilutive stock options and restricted stock units     30,728   11,141 25,197
XML 46 R37.htm IDEA: XBRL DOCUMENT v3.23.2
Inventory, net (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Inventory, net.    
Raw materials $ 7,106,304 $ 4,827,113
Work in process 754,670 369,761
Finished goods 960,776 411,647
Inventory before allowance for excess and obsolete 8,821,750 5,608,521
Allowance for excess and obsolete (406,670) (239,288)
Total $ 8,415,080 $ 5,369,233
XML 47 R38.htm IDEA: XBRL DOCUMENT v3.23.2
Property and Equipment, net (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Property and equipment, net          
Property and equipment, gross $ 12,470,038   $ 12,470,038   $ 5,830,142
Accumulated depreciation (3,749,765)   (3,749,765)   (3,430,330)
Total 8,720,273   8,720,273   2,399,812
Depreciation and amortization expense of property and equipment 162,121 $ 142,710 319,435 $ 277,581  
Land          
Property and equipment, net          
Property and equipment, gross 6,200,000   6,200,000    
Computer software and hardware          
Property and equipment, net          
Property and equipment, gross 1,271,277   1,271,277   1,121,455
Furniture and fixtures          
Property and equipment, net          
Property and equipment, gross 1,695,772   1,695,772   1,573,587
Leasehold improvements          
Property and equipment, net          
Property and equipment, gross 266,082   266,082   259,146
Machinery and equipment          
Property and equipment, net          
Property and equipment, gross 2,419,147   2,419,147   2,210,181
Fixed assets in-process          
Property and equipment, net          
Property and equipment, gross $ 617,760   $ 617,760   $ 665,773
XML 48 R39.htm IDEA: XBRL DOCUMENT v3.23.2
Property and Equipment, net - Land Acquisition (Details)
Feb. 02, 2023
USD ($)
a
Property and Equipment, net  
Purchase of land | a 26.5
Total purchase price of the property | $ $ 6,200,000
XML 49 R40.htm IDEA: XBRL DOCUMENT v3.23.2
Property and Equipment, net - geographic region (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Property and equipment, net    
Total property and equipment, net $ 8,720,273 $ 2,399,812
United States    
Property and equipment, net    
Total property and equipment, net 8,528,821 2,248,308
International    
Property and equipment, net    
Total property and equipment, net $ 191,452 $ 151,504
XML 50 R41.htm IDEA: XBRL DOCUMENT v3.23.2
Intangible Assets, net (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Dec. 31, 2022
Intangible Assets, net          
Intangible Assets, gross $ 3,239,234   $ 3,239,234   $ 2,904,427
Accumulated amortization (885,461)   (885,461)   (834,988)
Total 2,353,773   2,353,773   2,069,439
Amortization expense of intangible assets 25,236 $ 25,393 50,473 $ 50,649  
Expected annual amortization expense          
Six months ended December 31, 2023 50,473   50,473    
2024 100,544   100,544    
2025 97,374   97,374    
2026 85,658   85,658    
2027 11,945   11,945    
2028 9,343   9,343    
Patents - in use          
Intangible Assets, net          
Intangible Assets, gross 321,874   321,874   321,873
Patents - fully amortized          
Intangible Assets, net          
Intangible Assets, gross 70,164   70,164   70,164
Patents - in process          
Intangible Assets, net          
Intangible Assets, gross 127,108   127,108   123,153
Internally developed software - in use          
Intangible Assets, net          
Intangible Assets, gross 872,218   872,218   872,218
Internally developed software - in process          
Intangible Assets, net          
Intangible Assets, gross 1,820,173   1,820,173   1,489,322
Trademarks          
Intangible Assets, net          
Intangible Assets, gross $ 27,697   $ 27,697   $ 27,697
XML 51 R42.htm IDEA: XBRL DOCUMENT v3.23.2
Accumulated Other Comprehensive Income (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2022
Jun. 30, 2022
Component of accumulated other comprehensive income related to unrealized gains and (losses)    
Balance at the beginning $ 6,127 $ 17,012
(Gain) Loss on available-for-sale securities, net (68) (10,953)
Reclassification realized in net earnings $ (6,059) $ (6,059)
XML 52 R43.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Stock-Based Compensation        
Total stock-based compensation expense $ 568,454 $ 121,003 $ 1,102,097 $ 574,363
Cost of revenue        
Stock-Based Compensation        
Total stock-based compensation expense 62,430 7,955 124,173 87,379
General and administrative        
Stock-Based Compensation        
Total stock-based compensation expense 291,346 10,604 580,730 207,374
Sales and marketing        
Stock-Based Compensation        
Total stock-based compensation expense 169,160 62,253 306,367 199,675
Research and development        
Stock-Based Compensation        
Total stock-based compensation expense $ 45,518 $ 40,191 $ 90,827 $ 79,935
XML 53 R44.htm IDEA: XBRL DOCUMENT v3.23.2
Stock-Based Compensation - Stock Options and Restricted Stock Units Activity (Details) - USD ($)
6 Months Ended
Jun. 30, 2023
Stock Options  
Stock Options  
Outstanding beginning of period (in shares) 24,010
Awards exercised/vested (in shares) (1,000)
Outstanding end of period (in shares) 23,010
Restricted Stock Units  
Stock Options  
Outstanding beginning of period (in shares) 151,337
Awards granted (in shares) 3,656
Awards exercised/vested (in shares) (13,001)
Awards canceled/ forfeited (in shares) (70)
Outstanding end of period (in shares) 141,922
Weighted-average period of unrecognized compensation cost expected to be recognized 2 years 5 months 15 days
Unrecognized compensation cost for unvested award $ 3,326,259
Performance Based Restricted Stock Units  
Stock Options  
Outstanding beginning of period (in shares) 27,884
Outstanding end of period (in shares) 27,884
Weighted-average period of unrecognized compensation cost expected to be recognized 2 years 2 months 15 days
Unrecognized compensation cost for unvested award $ 730,618
XML 54 R45.htm IDEA: XBRL DOCUMENT v3.23.2
Income Taxes (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Income Taxes        
Provision for income tax expense $ 1,118,582 $ 938,631 $ 2,062,171 $ 1,511,926
Effective rate (as a percent) 21.10% 22.50% 21.40% 20.90%
XML 55 R46.htm IDEA: XBRL DOCUMENT v3.23.2
Leases (Details)
1 Months Ended 3 Months Ended 6 Months Ended 12 Months Ended
Feb. 28, 2023
USD ($)
item
Jan. 31, 2014
USD ($)
item
Jun. 30, 2023
USD ($)
item
Jun. 30, 2022
USD ($)
Jun. 30, 2023
USD ($)
item
Jun. 30, 2022
USD ($)
Dec. 31, 2022
USD ($)
Leases              
Number of material lease contracts outstanding | item     1   1    
Number of non-cancelable operating leases entered | item 2            
Lessee, operating lease, existence of residual value guarantee         false    
Winter Springs, Florida Facility              
Leases              
Monthly base rent $ 10,055            
Operating lease paid     $ 30,165 $ 0 $ 52,975 $ 0  
Non-cancelable operating lease term 2 years            
Susi, LLC              
Leases              
Operating lease paid         $ 255,635 $ 237,008  
Susi, LLC | Winter Springs, Florida Facility              
Leases              
Monthly base rent   $ 34,133          
Operating lease paid     $ 127,817 $ 118,504     $ 492,643
Renewal term of lease beginning in 2019   5 years          
Number of successive renewal terms of lease | item   1          
Renewal term of lease beginning in 2024   5 years          
Renewal term lease thereafter   1 year          
Remaining lease term (in years)     6 years 9 months 18 days   6 years 9 months 18 days    
XML 56 R47.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Operating lease cost (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2023
Jun. 30, 2022
Jun. 30, 2023
Jun. 30, 2022
Leases        
Operating lease cost $ 162,549 $ 119,928 $ 324,362 $ 239,856
Cost of revenue        
Leases        
Operating lease cost 58,086 53,854 116,172 107,708
General and administrative        
Leases        
Operating lease cost 92,206 54,710 183,676 109,420
Sales and marketing        
Leases        
Operating lease cost 3,251 3,014 6,501 6,028
Research and development        
Leases        
Operating lease cost $ 9,006 $ 8,350 $ 18,013 $ 16,700
XML 57 R48.htm IDEA: XBRL DOCUMENT v3.23.2
Leases - Maturity of operating lease liability (Details)
Jun. 30, 2023
USD ($)
Operating leases  
Six months ended December 31, 2023 $ 269,657
2024 535,954
2025 415,294
2026 409,596
2027 409,596
Thereafter 594,446
Total lease payments 2,634,543
Imputed interest (386,876)
Present value of lease liability $ 2,247,667
XML 58 R49.htm IDEA: XBRL DOCUMENT v3.23.2
Commitments and Contingencies (Details) - USD ($)
Jun. 30, 2023
Dec. 31, 2022
Purchase commitments    
Purchase commitments $ 14,802,094 $ 8,021,403
Legal matters accrued $ 250,000 $ 0
XML 59 irmd-20230630x10q_htm.xml IDEA: XBRL DOCUMENT 0001325618 us-gaap:EmployeeStockOptionMember 2023-01-01 2023-06-30 0001325618 us-gaap:RetainedEarningsMember 2023-06-30 0001325618 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001325618 us-gaap:RetainedEarningsMember 2023-03-31 0001325618 us-gaap:AdditionalPaidInCapitalMember 2023-03-31 0001325618 us-gaap:RetainedEarningsMember 2022-12-31 0001325618 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001325618 us-gaap:RetainedEarningsMember 2022-06-30 0001325618 us-gaap:AdditionalPaidInCapitalMember 2022-06-30 0001325618 us-gaap:RetainedEarningsMember 2022-03-31 0001325618 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001325618 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-03-31 0001325618 us-gaap:RetainedEarningsMember 2021-12-31 0001325618 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001325618 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001325618 us-gaap:CommonStockMember 2023-06-30 0001325618 us-gaap:CommonStockMember 2023-03-31 0001325618 us-gaap:CommonStockMember 2022-12-31 0001325618 us-gaap:CommonStockMember 2022-06-30 0001325618 us-gaap:CommonStockMember 2022-03-31 0001325618 us-gaap:CommonStockMember 2021-12-31 0001325618 us-gaap:EmployeeStockOptionMember 2023-06-30 0001325618 us-gaap:RestrictedStockUnitsRSUMember 2022-12-31 0001325618 us-gaap:EmployeeStockOptionMember 2022-12-31 0001325618 irmd:PerformanceBasedRestrictedStockUnitsMember 2022-12-31 0001325618 irmd:InternationalMember 2023-04-01 2023-06-30 0001325618 country:US 2023-04-01 2023-06-30 0001325618 irmd:InternationalMember 2023-01-01 2023-06-30 0001325618 country:US 2023-01-01 2023-06-30 0001325618 irmd:InternationalMember 2022-04-01 2022-06-30 0001325618 country:US 2022-04-01 2022-06-30 0001325618 irmd:InternationalMember 2022-01-01 2022-06-30 0001325618 country:US 2022-01-01 2022-06-30 0001325618 us-gaap:CommonStockMember 2022-04-01 2022-06-30 0001325618 us-gaap:CommonStockMember 2023-04-01 2023-06-30 0001325618 us-gaap:CommonStockMember 2023-01-01 2023-03-31 0001325618 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001325618 irmd:InternationalMember 2023-06-30 0001325618 country:US 2023-06-30 0001325618 irmd:InternationalMember 2022-12-31 0001325618 country:US 2022-12-31 0001325618 us-gaap:MachineryAndEquipmentMember 2023-06-30 0001325618 us-gaap:LeaseholdImprovementsMember 2023-06-30 0001325618 us-gaap:LandMember 2023-06-30 0001325618 us-gaap:FurnitureAndFixturesMember 2023-06-30 0001325618 irmd:FixedAssetsInProcessMember 2023-06-30 0001325618 irmd:ComputerSoftwareAndHardwareMember 2023-06-30 0001325618 us-gaap:MachineryAndEquipmentMember 2022-12-31 0001325618 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001325618 us-gaap:FurnitureAndFixturesMember 2022-12-31 0001325618 irmd:FixedAssetsInProcessMember 2022-12-31 0001325618 irmd:ComputerSoftwareAndHardwareMember 2022-12-31 0001325618 2023-02-02 2023-02-02 0001325618 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-04-01 2022-06-30 0001325618 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-03-31 0001325618 irmd:WinterSpringsFloridaFacilityMember irmd:SusiLLCMember 2023-04-01 2023-06-30 0001325618 irmd:WinterSpringsFloridaFacilityMember 2023-04-01 2023-06-30 0001325618 irmd:WinterSpringsFloridaFacilityMember 2023-01-01 2023-06-30 0001325618 irmd:SusiLLCMember 2023-01-01 2023-06-30 0001325618 irmd:WinterSpringsFloridaFacilityMember irmd:SusiLLCMember 2022-04-01 2022-06-30 0001325618 irmd:WinterSpringsFloridaFacilityMember 2022-04-01 2022-06-30 0001325618 irmd:WinterSpringsFloridaFacilityMember irmd:SusiLLCMember 2022-01-01 2022-12-31 0001325618 irmd:WinterSpringsFloridaFacilityMember 2022-01-01 2022-06-30 0001325618 irmd:SusiLLCMember 2022-01-01 2022-06-30 0001325618 us-gaap:RetainedEarningsMember 2023-04-01 2023-06-30 0001325618 us-gaap:RetainedEarningsMember 2022-04-01 2022-06-30 0001325618 irmd:WinterSpringsFloridaFacilityMember irmd:SusiLLCMember 2023-06-30 0001325618 us-gaap:TrademarksMember 2023-06-30 0001325618 irmd:PatentsInUseMember 2023-06-30 0001325618 irmd:PatentsInProcessMember 2023-06-30 0001325618 irmd:PatentsFullyAmortizedMember 2023-06-30 0001325618 irmd:InternallyDevelopedSoftwareInUseMember 2023-06-30 0001325618 irmd:InternallyDevelopedSoftwareInProcessMember 2023-06-30 0001325618 us-gaap:TrademarksMember 2022-12-31 0001325618 irmd:PatentsInUseMember 2022-12-31 0001325618 irmd:PatentsInProcessMember 2022-12-31 0001325618 irmd:PatentsFullyAmortizedMember 2022-12-31 0001325618 irmd:InternallyDevelopedSoftwareInUseMember 2022-12-31 0001325618 irmd:InternallyDevelopedSoftwareInProcessMember 2022-12-31 0001325618 us-gaap:RestrictedStockUnitsRSUMember 2023-06-30 0001325618 irmd:PerformanceBasedRestrictedStockUnitsMember 2023-06-30 0001325618 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-06-30 0001325618 irmd:PerformanceBasedRestrictedStockUnitsMember 2023-01-01 2023-06-30 0001325618 us-gaap:RetainedEarningsMember 2023-01-01 2023-03-31 0001325618 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001325618 2022-06-30 0001325618 2023-02-02 0001325618 us-gaap:SellingAndMarketingExpenseMember 2023-04-01 2023-06-30 0001325618 us-gaap:ResearchAndDevelopmentExpenseMember 2023-04-01 2023-06-30 0001325618 us-gaap:GeneralAndAdministrativeExpenseMember 2023-04-01 2023-06-30 0001325618 us-gaap:CostOfSalesMember 2023-04-01 2023-06-30 0001325618 us-gaap:SellingAndMarketingExpenseMember 2023-01-01 2023-06-30 0001325618 us-gaap:ResearchAndDevelopmentExpenseMember 2023-01-01 2023-06-30 0001325618 us-gaap:GeneralAndAdministrativeExpenseMember 2023-01-01 2023-06-30 0001325618 us-gaap:CostOfSalesMember 2023-01-01 2023-06-30 0001325618 us-gaap:SellingAndMarketingExpenseMember 2022-04-01 2022-06-30 0001325618 us-gaap:ResearchAndDevelopmentExpenseMember 2022-04-01 2022-06-30 0001325618 us-gaap:GeneralAndAdministrativeExpenseMember 2022-04-01 2022-06-30 0001325618 us-gaap:CostOfSalesMember 2022-04-01 2022-06-30 0001325618 us-gaap:SellingAndMarketingExpenseMember 2022-01-01 2022-06-30 0001325618 us-gaap:ResearchAndDevelopmentExpenseMember 2022-01-01 2022-06-30 0001325618 us-gaap:GeneralAndAdministrativeExpenseMember 2022-01-01 2022-06-30 0001325618 us-gaap:CostOfSalesMember 2022-01-01 2022-06-30 0001325618 us-gaap:AdditionalPaidInCapitalMember 2023-04-01 2023-06-30 0001325618 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-03-31 0001325618 2023-01-01 2023-03-31 0001325618 us-gaap:AdditionalPaidInCapitalMember 2022-04-01 2022-06-30 0001325618 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001325618 2022-01-01 2022-03-31 0001325618 2021-12-31 0001325618 irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember 2023-04-01 2023-06-30 0001325618 irmd:MRICompatibleIVInfusionPumpsMember 2023-04-01 2023-06-30 0001325618 irmd:FerroMagneticDetectionSystemsMember 2023-04-01 2023-06-30 0001325618 irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember 2023-01-01 2023-06-30 0001325618 irmd:MRICompatibleIVInfusionPumpsMember 2023-01-01 2023-06-30 0001325618 irmd:FerroMagneticDetectionSystemsMember 2023-01-01 2023-06-30 0001325618 irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember 2022-04-01 2022-06-30 0001325618 irmd:MRICompatibleIVInfusionPumpsMember 2022-04-01 2022-06-30 0001325618 irmd:MRICompatiblePatientVitalSignsMonitoringSystemsMember 2022-01-01 2022-06-30 0001325618 irmd:MRICompatibleIVInfusionPumpsMember 2022-01-01 2022-06-30 0001325618 2023-02-01 2023-02-28 0001325618 irmd:WinterSpringsFloridaFacilityMember 2023-02-28 0001325618 irmd:WinterSpringsFloridaFacilityMember irmd:SusiLLCMember 2014-01-31 0001325618 irmd:WinterSpringsFloridaFacilityMember irmd:SusiLLCMember 2014-01-01 2014-01-31 0001325618 2023-03-31 0001325618 2022-03-31 0001325618 2023-04-01 2023-06-30 0001325618 2022-04-01 2022-06-30 0001325618 2022-01-01 2022-06-30 0001325618 2023-06-30 0001325618 2022-12-31 0001325618 2023-07-31 0001325618 2023-01-01 2023-06-30 shares iso4217:USD iso4217:USD shares irmd:item utr:acre pure irmd:segment 0001325618 --12-31 2023 Q2 false 10-Q true 2023-06-30 false 001-36534 IRADIMED CORPORATION DE 73-1408526 1025 Willa Springs Drive Winter Springs FL 32708 407 677-8022 Common stock, par value $0.0001 IRMD NASDAQ Yes Yes Non-accelerated Filer true false false 12602673 45822834 57960864 331403 160498 11082213 13274521 8415080 5369233 770647 630960 254093 66090774 77489671 8720273 2399812 2353773 2069439 2247667 2205286 1766383 700867 252161 648672 81431031 85513747 2552076 1799316 2332643 2871890 217496 121919 105479 94030 1714067 3373122 413745 293466 250000 7585506 8553743 3013165 1375197 1833922 1911820 12432593 11840760 0.0001 0.0001 31500000 31500000 12601541 12591004 1260 1259 27369898 26407446 41627280 47264282 68998438 73672987 81431031 85513747 16130396 12721569 31605480 25032279 3943904 2581806 7697535 5512992 12186492 10139763 23907945 19519287 3313080 2402795 7233591 5118745 2948425 2907788 5948403 5977344 961952 662599 1755666 1181694 7223457 5973182 14937660 12277783 4963035 4166581 8970285 7241504 335387 13102 677796 -1812 5298422 4179683 9648081 7239692 1118582 938631 2062171 1511926 4179840 3241052 7585910 5727766 0.33 0.26 0.60 0.46 0.33 0.26 0.60 0.45 12596032 12560812 12594541 12556837 12723017 12632755 12706608 12641424 4179840 3241052 7585910 5727766 0 0 -22 -22 -68 -10953 0 0 6059 6059 -6127 -17012 4179840 3234925 7585910 5710754 12591004 1259 26407446 47264282 73672987 3406070 3406070 1.05 13222907 13222907 -4 -4 533643 533643 3572 -49878 -49878 12594576 1259 26891211 37447441 64339911 4179840 4179840 568453 568453 5965 1 -97106 -97105 1000 7339 7339 12601541 1260 27369898 41627281 68998438 12544024 1254 25160618 46994922 17012 72173806 2486713 2486713 1.00 12559127 12559127 -10885 -10885 453360 453360 3879 1 -67381 -67380 12566 1 71947 71948 12560469 1256 25618544 36922508 6127 62548435 3241052 3241052 -6127 -6127 121003 121003 556 -5726 -5726 12561025 1256 25733821 40163560 65898637 7585910 5727766 170905 21370 167383 19824 369908 928101 -3852 4894 1102096 574363 1065516 144948 8025 -2021403 3295542 4212765 587502 -57568 451276 -541548 -10419 1709063 -15622 -539247 -545393 95577 95055 11449 -8111 -363379 -253074 250000 -7995 254093 1010890 8159848 3065406 500000 6600521 371935 334807 475198 -6935328 -347133 13222907 12559127 7339 71949 146983 73106 -13362551 -12560284 -12138031 -9842011 57960864 61999550 45822833 52157539 2756152 757137 227982 324362 257117 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">1 — Basis of Presentation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accompanying interim condensed financial statements of IRADIMED CORPORATION (“IRADIMED”, the “Company”, “we”, “our”) have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Certain information and footnote disclosures normally presented in annual financial statements prepared in accordance with U.S. generally accepted accounting principles (“GAAP”) have been condensed or omitted pursuant to such rules and regulations. The interim financial information is unaudited, but reflects all normal adjustments that are, in the opinion of management, necessary for the fair presentation of our financial position, results of operations and cash flows for the interim periods presented. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023, and other interim periods, or future years or periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accompanying interim condensed financial statements should be read in conjunction with the financial statements and related footnotes to financial statements included in our Annual Report on Form 10-K for the year ended December 31, 2022. The accounting policies followed in the preparation of these interim condensed financial statements, except as described in Note 1, are consistent in all material respects with those described in Note 1 of our Form 10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We operate in one reportable segment which is the development, manufacture and sale of Magnetic Resonance Imaging (“MRI”) compatible medical devices, related accessories, disposables and service for use primarily by hospitals and acute care facilities during MRI procedures.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Certain Significant Risks and Uncertainties</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We market our products to end users in the United States and to third-party distributors internationally. Sales to end users in the United States are generally made on open credit terms. Management maintains an allowance for potential credit losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We have deposited our cash and cash equivalents with various financial institutions. Our cash and cash equivalents balances exceed federally insured limits regularly throughout the year. We have not incurred any losses related to these balances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our medical devices require clearance from the FDA and international regulatory agencies prior to commercialized sales. Our future products may not receive required approvals. If we were denied such approvals, or if such approvals were revoked or delayed or if we were unable to timely renew certain approvals for existing products, it would have a materially adverse impact on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Certain key components of our products essential to their functionality are sole-sourced. Any disruption in the availability of these components would have a materially adverse impact on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Recent Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, which requires the Company to measure and recognize expected credit losses for financial assets held and not accounted for at fair value through net income. In November 2018, April 2019 and May 2019, the FASB issued ASU 2018-19,<i style="font-style:italic;"> Codification Improvements to Topic 326, Financial Instruments - Credit Losses</i>, ASU 2019-04,<i style="font-style:italic;"> Codification Improvements to Topic 326, Financial Instruments - Credit Losses</i> and ASU 2019-05, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Targeted Transition Relief</i>, which provided additional implementation guidance on ASU 2016-03. We have adopted previously mentioned ASU starting January 1, 2023 and it did not result in a material impact on our financial condition, results of operations or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accompanying interim condensed financial statements of IRADIMED CORPORATION (“IRADIMED”, the “Company”, “we”, “our”) have been prepared pursuant to the rules and regulations of the Securities and Exchange Commission (the “SEC”). Certain information and footnote disclosures normally presented in annual financial statements prepared in accordance with U.S. generally accepted accounting principles (“GAAP”) have been condensed or omitted pursuant to such rules and regulations. The interim financial information is unaudited, but reflects all normal adjustments that are, in the opinion of management, necessary for the fair presentation of our financial position, results of operations and cash flows for the interim periods presented. Operating results for the three and six months ended June 30, 2023 are not necessarily indicative of the results that may be expected for the year ending December 31, 2023, and other interim periods, or future years or periods.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The accompanying interim condensed financial statements should be read in conjunction with the financial statements and related footnotes to financial statements included in our Annual Report on Form 10-K for the year ended December 31, 2022. The accounting policies followed in the preparation of these interim condensed financial statements, except as described in Note 1, are consistent in all material respects with those described in Note 1 of our Form 10-K.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We operate in one reportable segment which is the development, manufacture and sale of Magnetic Resonance Imaging (“MRI”) compatible medical devices, related accessories, disposables and service for use primarily by hospitals and acute care facilities during MRI procedures.</p> 1 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Certain Significant Risks and Uncertainties</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We market our products to end users in the United States and to third-party distributors internationally. Sales to end users in the United States are generally made on open credit terms. Management maintains an allowance for potential credit losses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We have deposited our cash and cash equivalents with various financial institutions. Our cash and cash equivalents balances exceed federally insured limits regularly throughout the year. We have not incurred any losses related to these balances.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Our medical devices require clearance from the FDA and international regulatory agencies prior to commercialized sales. Our future products may not receive required approvals. If we were denied such approvals, or if such approvals were revoked or delayed or if we were unable to timely renew certain approvals for existing products, it would have a materially adverse impact on our business, results of operations and financial condition.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Certain key components of our products essential to their functionality are sole-sourced. Any disruption in the availability of these components would have a materially adverse impact on our business, results of operations and financial condition.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;font-weight:bold;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Recent Accounting Pronouncements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="text-decoration-line:underline;text-decoration-style:solid;">Recently Issued Accounting Pronouncements</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In June 2016, the FASB issued ASU 2016-13, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Measurement of Credit Losses on Financial Instruments</i>, which requires the Company to measure and recognize expected credit losses for financial assets held and not accounted for at fair value through net income. In November 2018, April 2019 and May 2019, the FASB issued ASU 2018-19,<i style="font-style:italic;"> Codification Improvements to Topic 326, Financial Instruments - Credit Losses</i>, ASU 2019-04,<i style="font-style:italic;"> Codification Improvements to Topic 326, Financial Instruments - Credit Losses</i> and ASU 2019-05, <i style="font-style:italic;">Financial Instruments - Credit Losses (Topic 326): Targeted Transition Relief</i>, which provided additional implementation guidance on ASU 2016-03. We have adopted previously mentioned ASU starting January 1, 2023 and it did not result in a material impact on our financial condition, results of operations or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">2 — Revenue Recognition</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="text-decoration-line:underline;text-decoration-style:solid;">Disaggregation of Revenue</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We disaggregate revenue from contracts with customers by geographic region and revenue type as we believe it best depicts the nature, amount, timing and uncertainty of our revenue and cash flow.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue information by geographic region is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,949,526</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,816,691</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 24,928,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 20,796,032</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,180,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,904,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,677,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,236,247</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 16,130,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,721,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 31,605,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 25,032,279</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue information by type is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Devices:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">MRI Compatible IV Infusion Pump Systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,522,568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,853,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,061,383</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,134,955</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">MRI Compatible Patient Vital Signs Monitoring Systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,128,718</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,921,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,825,536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,116,370</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Ferro Magnetic Detection Systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 183,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 480,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Devices revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,834,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,774,635</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 21,367,698</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 17,251,325</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Disposables, services and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,815,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,430,005</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 9,250,612</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,748,907</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortization of extended warranty agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 480,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 516,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 987,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,032,047</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 16,130,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,721,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 31,605,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 25,032,279</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="text-decoration-line:underline;text-decoration-style:solid;">Contract Liabilities</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our contract liabilities consist of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Advance payments from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 342,292</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 896,617</p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Shipments in-transit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 19,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 14,696</p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Extended warranty agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,365,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,837,006</p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,727,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,748,319</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Changes in the contract liabilities during the periods presented are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deferred</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,748,319</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increases due to cash received from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,464,337</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decreases due to recognition of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,485,424)</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,727,232</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deferred</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,232,439</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increases due to cash received from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,969,841</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decreases due to recognition of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,288,798)</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,913,482</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:italic;text-indent:36pt;margin:0pt 0pt 10pt 0pt;"><i style="text-decoration-line:underline;text-decoration-style:solid;">Capitalized Contract Costs</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Our capitalized contract costs totaled $199,776 and $340,044 as of June 30, 2023 and December 31, 2022, respectively, and are classified as other assets on the unaudited condensed balance sheet.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,949,526</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,816,691</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 24,928,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 20,796,032</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,180,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,904,878</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,677,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,236,247</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 16,130,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,721,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 31,605,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 25,032,279</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Devices:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">MRI Compatible IV Infusion Pump Systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,522,568</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,853,016</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,061,383</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,134,955</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">MRI Compatible Patient Vital Signs Monitoring Systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,128,718</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,921,619</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,825,536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,116,370</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Ferro Magnetic Detection Systems</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 183,190</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 480,779</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 12pt;">Total Devices revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,834,476</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,774,635</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 21,367,698</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 17,251,325</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Disposables, services and other</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,815,870</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,430,005</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 9,250,612</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,748,907</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Amortization of extended warranty agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 480,050</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 516,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 987,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,032,047</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 18pt;">Total revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 16,130,396</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,721,569</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 31,605,480</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 25,032,279</p></td></tr></table> 12949526 10816691 24928050 20796032 3180870 1904878 6677430 4236247 16130396 12721569 31605480 25032279 4522568 3853016 10061383 7134955 6128718 4921619 10825536 10116370 183190 480779 10834476 8774635 21367698 17251325 4815870 3430005 9250612 6748907 480050 516929 987170 1032047 16130396 12721569 31605480 25032279 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.82%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Advance payments from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 342,292</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 896,617</p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Shipments in-transit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 19,833</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 14,696</p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Extended warranty agreements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,365,107</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,837,006</p></td></tr><tr><td style="vertical-align:bottom;width:76.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,727,232</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,748,319</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deferred</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,748,319</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increases due to cash received from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,464,337</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decreases due to recognition of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,485,424)</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,727,232</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Deferred</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,232,439</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Increases due to cash received from customers</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,969,841</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Decreases due to recognition of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (2,288,798)</p></td></tr><tr><td style="vertical-align:bottom;width:85.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Contract liabilities, June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,913,482</p></td></tr></table> 342292 896617 19833 14696 4365107 3837006 4727232 4748319 4748319 2464337 2485424 4727232 4232439 1969841 2288798 3913482 199776 340044 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 10pt 0pt;">3 — Basic and Diluted Net Income per Share</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 8pt 0pt;">Basic net income per share is based upon the weighted-average number of common shares outstanding during the period. Diluted net income per share reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock. Stock options, restricted stock units and performance-based restricted stock units granted by us represent the only dilutive effect reflected in diluted weighted-average shares outstanding.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents the computation of basic and diluted net income per share:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,179,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,241,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,585,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,727,766</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average shares outstanding — Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,596,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,560,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,594,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,556,837</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 19,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 19,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 18,893</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 22,784</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 69,112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 52,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 57,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 61,803</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Performance-based restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 38,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 35,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average shares outstanding — Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,723,017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,632,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,706,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,641,424</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Basic net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.60</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.46</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Diluted net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.60</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.45</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Stock options and restricted stock units excluded from the calculation of diluted net income per share because the effect would have been anti-dilutive are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="8" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Anti-dilutive stock options and restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 30,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 11,141</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 25,197</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:24.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,179,840</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,241,052</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,585,910</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,727,766</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average shares outstanding — Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,596,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,560,812</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,594,541</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,556,837</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Effect of dilutive securities:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;">  </p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Stock options</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 19,333</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 19,168</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 18,893</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 22,784</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 69,112</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 52,775</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 57,610</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 61,803</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Performance-based restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 38,540</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 35,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Weighted-average shares outstanding — Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,723,017</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,632,755</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,706,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,641,424</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Basic net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.60</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.46</p></td></tr><tr><td style="vertical-align:bottom;width:48.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Diluted net income per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.26</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.60</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 0.45</p></td></tr></table> 4179840 3241052 7585910 5727766 12596032 12560812 12594541 12556837 19333 19168 18893 22784 69112 52775 57610 61803 38540 35564 12723017 12632755 12706608 12641424 0.33 0.26 0.60 0.46 0.33 0.26 0.60 0.45 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="8" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:63.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:17.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Anti-dilutive stock options and restricted stock units</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.78%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 30,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.77%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 11,141</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 25,197</p></td></tr></table> 30728 11141 25197 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">4 — Inventory, net</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Inventory consists of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,106,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,827,113</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Work in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 754,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 369,761</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 960,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 411,647</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory before allowance for excess and obsolete</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,821,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,608,521</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Allowance for excess and obsolete</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (406,670)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (239,288)</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,415,080</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,369,233</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Raw materials</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,106,304</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 4,827,113</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Work in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 754,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 369,761</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Finished goods</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 960,776</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 411,647</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Inventory before allowance for excess and obsolete</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,821,750</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,608,521</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Allowance for excess and obsolete</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (406,670)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (239,288)</p></td></tr><tr><td style="vertical-align:bottom;width:73.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,415,080</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.33%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,369,233</p></td></tr></table> 7106304 4827113 754670 369761 960776 411647 8821750 5608521 406670 239288 8415080 5369233 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">5 — Property and Equipment, net</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Property and equipment consist of:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,200,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Computer software and hardware</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,271,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,121,455</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,695,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,573,587</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 266,082</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 259,146</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Machinery and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,419,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,210,181</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fixed assets in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 617,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 665,773</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,470,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,830,142</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,749,765)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,430,330)</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,720,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,399,812</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Depreciation expense of property and equipment was $162,121 and $142,710 for the three months ended June 30, 2023 and 2022, respectively, and $319,435 and $277,581 for the six months ended June 30, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Land Acquisition</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><span style="background:#ffffff;">On February 2, 2023, the Company entered into a reinstatement and amendment to the previously announced sale and purchase agreement with O Property, Ltd., a Florida limited partnership dated as of November 1, 2022, pursuant to which the parties agreed to consummate a sale of real property located in Orange County, Florida. Pursuant to the terms of the Reinstatement, the parties consummated the sale of approximately </span><span style="background:#ffffff;">26.5</span><span style="background:#ffffff;"> acres of land to the Company for a purchase price of </span><span style="background:#ffffff;">$6,200,000</span><span style="background:#ffffff;">. </span>The property was acquired as a site for future development of manufacturing, research labs, and office space to accommodate our increased operations and anticipated growth.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Property and equipment, net, information by geographic region is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,528,821</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,248,308</p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 191,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 151,504</p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,720,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,399,812</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Long-lived assets held outside of the United States consist principally of tooling and machinery and equipment, which are components of property and equipment, net.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Land</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,200,000</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Computer software and hardware</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,271,277</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,121,455</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Furniture and fixtures</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,695,772</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,573,587</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Leasehold improvements</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 266,082</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 259,146</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Machinery and equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,419,147</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,210,181</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Fixed assets in-process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 617,760</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 665,773</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 12,470,038</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 5,830,142</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Accumulated depreciation</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,749,765)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (3,430,330)</p></td></tr><tr><td style="vertical-align:bottom;width:75.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.53%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,720,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.13%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 2,399,812</p></td></tr></table> 6200000 1271277 1121455 1695772 1573587 266082 259146 2419147 2210181 617760 665773 12470038 5830142 3749765 3430330 8720273 2399812 162121 142710 319435 277581 26.5 6200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,528,821</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,248,308</p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">International</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 191,452</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 151,504</p></td></tr><tr><td style="vertical-align:bottom;width:76.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 8,720,273</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.39%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,399,812</p></td></tr></table> 8528821 2248308 191452 151504 8720273 2399812 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">6 — Intangible Assets, net</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the components of intangible asset balances:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents — in use</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 321,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 321,873</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents — fully amortized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 70,164</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 70,164</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents — in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 123,153</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Internally developed software — in use</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 872,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 872,218</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Internally developed software — in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,820,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,489,322</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,697</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,239,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,904,427</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (885,461)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (834,988)</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,353,773</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,069,439</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Amortization expense of intangible assets was $25,236 and $25,393 for the three months ended June 30, 2023 and 2022, respectively, and $50,473 and $50,649 for the six months ended June 30, 2023 and 2022, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Expected annual amortization expense for the remaining portion of 2023 and the next five years related to intangible assets is as follows (excludes in process intangible assets):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:87.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Six months ending December 31,2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,473</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100,544</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97,374</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 85,658</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,945</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,343</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents — in use</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 321,874</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 321,873</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents — fully amortized</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 70,164</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 70,164</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Patents — in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 127,108</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 123,153</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Internally developed software — in use</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 872,218</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 872,218</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Internally developed software — in process</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,820,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 1,489,322</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Trademarks</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,697</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 27,697</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 3,239,234</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,904,427</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Accumulated amortization</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (885,461)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (834,988)</p></td></tr><tr><td style="vertical-align:bottom;width:70.99%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.81%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,353,773</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.48%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 2,069,439</p></td></tr></table> 321874 321873 70164 70164 127108 123153 872218 872218 1820173 1489322 27697 27697 3239234 2904427 885461 834988 2353773 2069439 25236 25393 50473 50649 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:87.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Six months ending December 31,2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 50,473</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 100,544</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 97,374</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 85,658</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 11,945</p></td></tr><tr><td style="vertical-align:bottom;width:87.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 9,343</p></td></tr></table> 50473 100544 97374 85658 11945 9343 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">7 — Fair Value Measurements</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">The fair values of cash equivalents, accounts receivables, net and accounts payable approximate their carrying amounts due to their short duration.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As of June 30, 2023 we did not have any asset or liabilities subject to recurring fair value measurements. </p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">8 — Accumulated Other Comprehensive Income</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of accumulated other comprehensive income, net of tax, for the three months ended June 30, 2023 and 2022 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrealized (Losses)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gains on</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Available-For-Sale</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Securities</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,127</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,059)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of accumulated other comprehensive income, net of tax, for the six months ended June 30, 2023 and 2022 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrealized (Losses)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gains on</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Available-For-Sale</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Securities</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,012</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,953)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,059)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrealized (Losses)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gains on</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Available-For-Sale</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Securities</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 6,127</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (68)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,059)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:0pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of accumulated other comprehensive income, net of tax, for the six months ended June 30, 2023 and 2022 are as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Unrealized (Losses)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Gains on</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Available-For-Sale</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Securities</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> 17,012</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">(Gain) Loss on available-for-sale securities, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (10,953)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Reclassification realized in net earnings</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (6,059)</p></td></tr><tr><td style="vertical-align:bottom;width:85.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Balance at June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.6%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3pt 0.05pt 0pt;"> —</p></td></tr></table> 6127 -68 6059 17012 -10953 6059 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">9 — Stock-Based Compensation</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Stock-based compensation was recognized as follows in the unaudited Condensed Statements of Operations:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 62,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 124,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 87,379</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 291,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 580,730</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 207,374</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Sales and marketing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 169,160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 62,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 306,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 199,675</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 45,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 40,191</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 90,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 79,935</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 568,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 121,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,102,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 574,363</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of June 30, 2023, we had $3,326,259 of unrecognized compensation cost related to unvested restricted stock units, which is expected to be recognized over a weighted-average period of 2.46 years. As of June 30, 2023, we had </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">$730,618 of unrecognized compensation cost related to unvested performance-based restricted stock units, which is expected to be recognized over a weighted-average period of 2.21 years.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents a summary of our equity award activity for the six months ended June 30, 2023 (shares):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Performance</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Based</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Units</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 24,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 151,337</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 27,884</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Awards granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Awards exercised/vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,001)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Awards canceled/ forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 23,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 141,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 27,884</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:19.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:21.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 62,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 7,955</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 124,173</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 87,379</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 291,346</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 10,604</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 580,730</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 207,374</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Sales and marketing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 169,160</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 62,253</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 306,367</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 199,675</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 45,518</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 40,191</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 90,827</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 79,935</p></td></tr><tr><td style="vertical-align:bottom;width:57.53%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 568,454</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 121,003</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 1,102,097</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 574,363</p></td></tr></table> 62430 7955 124173 87379 291346 10604 580730 207374 169160 62253 306367 199675 45518 40191 90827 79935 568454 121003 1102097 574363 3326259 P2Y5M15D 730618 P2Y2M15D <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt 0pt 0.05pt 0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Performance</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Based</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Restricted</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Options</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Stock Units</b></p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding beginning of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 24,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 151,337</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 27,884</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Awards granted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,656</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Awards exercised/vested</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (1,000)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (13,001)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Awards canceled/ forfeited</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (70)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:39.33%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Outstanding end of period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 23,010</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 141,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:18.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 27,884</p></td></tr></table> 24010 151337 27884 3656 1000 13001 70 23010 141922 27884 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">10 — Income Taxes</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For the three and six months ended June 30, 2023, we recorded a provision for income tax expense of $1,118,582 and $2,062,171, respectively. Our effective tax rate was 21.1 percent and 21.4 percent, respectively, and differed from the U.S. Federal statutory rate primarily due to U.S. state income tax expense, partially offset by benefits from foreign derived intangible income and research and development tax credits.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">For the three and six months ended June 30, 2022, we recorded a provision for income tax expense of $938,631 and $1,511,926 respectively. Our effective tax rate was 22.5 percent and 20.9 percent respectively and differed from the U.S. Federal statutory rate primarily due to U.S. Federal income tax expense, partially offset by benefits from foreign derived intangible income and research and development tax credits.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">As of June 30, 2023 and December 31, 2022, we had not identified or accrued for any uncertain tax positions. We are currently unaware of any uncertain tax positions that could result in significant payments, accruals, or other material deviations in this estimate over the next 12 months. We believe that our tax positions comply in all material respects with applicable tax law. However, tax law is subject to interpretation, and interpretations by taxing authorities could be different from ours, which could result in the imposition of additional taxes and penalties.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We file tax returns in the United States Federal jurisdiction and many U.S. state jurisdictions. Our returns are not currently under examination by the Internal Revenue Service. The Company remains subject to income tax examinations for our United States Federal and certain U.S. state income taxes for 2019 and subsequent years.</p> 1118582 2062171 0.211 0.214 938631 1511926 0.225 0.209 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">11 — Leases</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We have entered into operating lease contracts for our manufacturing plant, office space, and various office equipment with one material lease contract outstanding. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In January 2014, we entered into a non-cancelable operating lease, commencing July 1, 2014, for our manufacturing and headquarters facility in Winter Springs, Florida owned by Susi, LLC, an entity controlled by our President, Chief Executive Officer, and Chairman of the Board, Roger Susi. Pursuant to the terms of our lease for this property, the monthly base rent is $34,133, adjusted annually for changes in the consumer price index. For the three months ended June 30, 2023 and 2022, the Company paid Susi, LLC $127,817 and $118,504 respectively. For the six months ended June 30, 2023 and 2022, the Company paid Susi, LLC $255,635 and $237,008 respectively. For the year ended December 31, 2022, the Company paid Susi, LLC $492,643 related to this lease. Under the terms of the lease, we are responsible for insurance and maintenance expenses. Prior to May 31, 2019, the expiration date of the initial lease term, and pursuant to the terms of the lease contract, we renewed the lease for an additional five years, resulting in a new lease expiration date of May 31, 2024. Unless advance written notice of termination is timely provided, the lease will automatically renew for one additional successive term of five years beginning in 2024, and thereafter, will be renewed </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 12pt 0pt;">for successive terms of one year each. At the time we adopted ASU 2016-02, <i style="font-style:italic;">Leases</i> (Topic 842), we concluded that we would exercise the remaining five-year option, resulting in a remaining lease term of 6.8 years as of June 30, 2023. This lease agreement does not contain any residual value guarantee or material restrictive covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">In February 2023, we entered into two, two-year, non-cancelable operating leases with non-related parties for additional office space in Winter Springs, Florida. Pursuant to the lease terms the total monthly base rent is $10,055. For the three months ended June 30, 2023 and 2022, the Company paid $30,165 and $0 respectively. For the six months ended June 30, 2023 and 2022, the Company paid $52,975 and $0 respectively. Under the terms of the lease, we are responsible for insurance and maintenance expenses. Pursuant to the contract terms, the leases will expire February 2025 and do not contain any residual value guarantee or material restrictive covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">We will reassess the lease accounting terms and assumptions once the details regarding completion of a new manufacturing facility and planned departure of the current primary facility is finalized.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Operating lease cost recognized in the unaudited Condensed Statements of Operations is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 58,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 53,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 116,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 107,708</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 92,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 54,710</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 183,676</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 109,420</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Sales and marketing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,028</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 9,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 18,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 16,700</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 162,549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 119,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 324,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 239,856</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;">Lease costs for short-term leases were immaterial for the three and six months ended June 30, 2023, and 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Maturity of our operating lease liability as of June 30, 2023, is as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Six months ending December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 269,657</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 535,954</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 415,294</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 409,596</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 409,596</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 594,446</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,634,543</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (386,876)</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Present value of lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,247,667</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;margin-bottom:12pt;visibility:hidden;">​</span></p> 1 34133 127817 118504 255635 237008 492643 P5Y 1 P5Y P1Y P6Y9M18D false 2 P2Y 10055 30165 0 52975 0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">Six Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">June 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr style="height:0pt;visibility:hidden;"><td colspan="12" style="padding:0pt;"></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.05%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Cost of revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 58,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 53,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 116,172</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 107,708</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">General and administrative</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 92,206</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 54,710</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 183,676</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 109,420</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Sales and marketing</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,251</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 3,014</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,501</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 6,028</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Research and development</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 9,006</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 8,350</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 18,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 16,700</p></td></tr><tr><td style="vertical-align:bottom;width:57.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 162,549</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 119,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 324,362</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.04%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.96%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0.05pt 0pt;"> 239,856</p></td></tr></table> 58086 53854 116172 107708 92206 54710 183676 109420 3251 3014 6501 6028 9006 8350 18013 16700 162549 119928 324362 239856 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="margin-bottom:12pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Six months ending December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 269,657</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 535,954</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 415,294</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 409,596</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 409,596</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 594,446</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,634,543</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">Imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 0pt 0.05pt 0pt;"> (386,876)</p></td></tr><tr><td style="vertical-align:bottom;width:87.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 6pt;">Present value of lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.57%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0.05pt 0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.79%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.5pt 0.05pt 0pt;"> 2,247,667</p></td></tr></table> 269657 535954 415294 409596 409596 594446 2634543 386876 2247667 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-weight:bold;margin:0pt 0pt 12pt 0pt;">12 — Commitments and Contingencies</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Purchase commitments.</i> We had various purchase orders for goods or services totaling $14,802,094 and $8,021,403 as of June 30, 2023 and December 31, 2022, respectively. Amounts recognized in our balance sheet related to these purchase orders were immaterial.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 12pt 0pt;"><i style="font-style:italic;">Legal matters.</i> We may, from time to time, become a party to various legal proceedings or claims that arise in the ordinary course of business. As of June 30, 2023 and December 31, 2022, we had accrued approximately $250,000 and $0, respectively, related to various matters. </p> 14802094 8021403 250000 0 EXCEL 60 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( /R U<'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 " #\@ -7'@<<4NX K @ $0 &1O8U!R;W!S+V-O&ULS9+! M:L,P#(9?9?B>R(EA'2;UI:.G#@8K;.QF;+4UBQ-C:R1]^R5>FS*V!]C1TN]/ MGT"-"=+T$9]C'S"2PW0W^K9+TH0U.Q$%"9#,";U.Y93HIN:ACU[3](Q'"-I\ MZ"-"S?D]>"1M-6F8@458B$PUUD@345,?+WAK%GSXC&V&60/8HL>.$E1E!4S- M$\-Y;!NX 6888?3INX!V(>;JG]C< 79)CLDMJ6$8RD'DW+1#!6]/NY>\;N&Z M1+HS./U*3M(YX)I=)[^*S>-^RU3-:U'PAX*+?I]=?_C=A'UOW<'] M8^.KH&K@UUVH+U!+ P04 " #\@ -7F5R<(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 /R U?1A4IKT 4 / > 8 >&PO=V]R:W-H965T&UL MM9EM<^(V%(7_BH9V.NU,");,2W9+F"&0M+2;A(6T.]MOBBW L[;%RG)(_GVO M;+"SJ7Q-/#P]20F(@R-$Y3CZ]ZT M5?RG$;X^/KC?9/ \\@3,9'AI\#7F\O618OX8L734"_D[G>Q!^H9/T^&2?9) M=OF]W6Z+>&FB9;070PFB(,Z_^?.^(EX) -0N8'L!>R.@5?_@[@5N!IJ7+,.: MBFTBB8\]LEUK /]0F9Q MWCU,-;=)LN%*),..AG\SFHZW=[[*G5F%[E0\AI7/(:IOR#DH. =']DS%8:[)QK#J=L2]5CQ,K V)RAH"7A2 M%VBA]B/-31 *SV>DHF]XOY_6+\,+N_L[&B+@U9J5-.O22$4F,HVU>H%OWUH%->[3:QLQ+FJ*_"IMT&.0'_@SF?GPF :KP,N# M1G5?KK$5G)RX[A'?L^N"=GAP/R >XC][&]77%+ZK > M^12$(2?+K0KB=4*F"J*PE1ZU:DI?)B2*AI#_T$_,&?3L![FSYJ,:NT]!#!/S M@=K*>XI01,M41/%<\Y:W>)3G2CX%L6=O;MSSYH,5]!11B999B>()YRWH7":: MA^2?8%L]6N&.+ALX%U;24Z0F6L8FBJ>=K,N.X06Y&@PWZ#H#*]8I0A(M4Q+% MH\T'Z4%[S3>)A*LB/SKD#.O2T^W4RG6*N,3*N,3P0'-H1'+][&UXO!:5X;#&Z&Z\G(ZM M+Z"XL"EAF8[84>EHDBIE7F'R]Y:L*6$B2:UK,#6.GZTK-Q- M !LP\7-#*^\I\@\K\P\[*O\L(QZ&Y"I-X.?$WFMQGZH%%%S6%*],/>RHU',= M";4V3^5OX* W$ RB+8_M[8H;5BXPX+JFH&7H87AF.;3C1D [8GBX337>*<(/ M*\,/PW/+89C-9_9E/K,OLV5NGUKS.2YNVI9E MV&%X5CG,E3=!8A+M9P$!#5O;K+%KMREKN]94ARL;@KIE^G%KEG,."YNO26_@ MHG6 K3&K6KG%94T9R_SCXFGE+>-^K;J:$K?[:'TSP45-&693,MQ>+J\5V[CC;Q.R4M^=[P;?< MS)<)"<4*I,[Y 8\E6^OYB=:;K,=RD>IM8RRPXW@OE#F!OA]):4^G)@_*#:Y M1_\"4$L#!!0 ( /R U?=_'*;E 8 ),: 8 >&PO=V]R:W-H965T M&ULM5EM3-B4GE6\%OIE=5ZS>3S.YZ+QXL1&KU<^)S=KY2^,)F>;]@]O^/JZ^96PMFD MM;+(UKPH,U%XDB\O1I?H=$:P5J@E_LGX8[ES[&E7YD)\UR)YK2X#C1V-TU#Y3*^X>OUA_7SL/SLQ9R6?Q>,'WC@4:GNIR,OZO_?8R/HC+ZU*)=:-,B!89\7VESTU@=A10(%# 3<* M^% %TBB0VM$MLMJM*Z;8]%R*1T]J:;"F#^K8U-K@35;HUWBG)-S-0$]-9S>? MKJX_W5U?>>\N_[K\-+OV[CY<7W^Y\XZ]KW=7WN]'?YQ/%#Q'2T_2QN:[K4WL ML/EG59QXQ!][V,?$HCX;5K_B*:BC6AWOJT_ N]9%W+J(:WO$Y6(E)2^4Q\J2 MJ_+4YL_60& WH"OIM-RPE%^,H%1*+A_X:/KK+RCRSVS>O9&Q/5])ZRL9LCZ= ML7+EL6+AI?J _ZBR!Y:#\Z7-ZZVIJ#:ER_UA&H0QQC$)SBYFFH@)PT ]2#DCG.1][!?0NL?18#AV&%2GWH%=Y"U'-U;+* MH>P;%1 Y(I E@4_@S>I32#O>IMVXCL(1A'4<)'$C 9G%UW,N'=FUCA#PK4K'FGF)/W IRT,K/]@-JN(+#P$\<+R%N78D'7?DB M%,L/B'=L!C+R$Y_2?I&;@B 3)Q%UI'/2 DU>B3G,'%(]UUFB.](&I@#ES.W$ MS&T*I4K[U6?*89(D,<)VM,CO"-%_I?P4*^XSZ$5-5)U0&T/[&$)"#:PV03]* M I(XP.ZP-QH$>P.A92HK[KVYN[QAKU_1+'*$)]@*9<% ^5\YV/(J&B73;# 8 FEP5HX @GQ@0+9)AB @- M7%'L: V%!\UA><;F69ZIC-N',31(CS_;?=_*VK[3'56B8:YL1YP->];SC=5A MD^QP&&*?1OV78PHBFB0$N_6<%WR9.1+*0FJ$ MX"@P:M(B&%,4)PXF1QW_H6$";(JR >ZDDEQ6DR6;(#P.:]$&:<@D,P(Y8XH[S\##GM=U8K$R:A!;JYA7T? M+,27D"!R%!K>68L.\][-WIC\&EJ3T'#HPU\?[?^QY,0=/>)A>MP?15_SR>1 M&@+%^/V"M B"&+PKQ^",.[;$PVQY4+:;/$A\!)W6R!3;,I"&*''P)>[X$@^O M _NSW4Y@QW"I+-N0-_5@]<-< Z*8D&2G&!L_+(()0C%V-9>. O$P!6[3X[6T ML% ;#@@.DSZCV"11' !;NI!V+(CIX(1RIT3Z?27R!9?E;_5:13W;]XO>=('X M5M;VO>Z(% \3Z4RLU]!,2^W\F7?DGT"#03 )2.^!Y14_T[LET'7&<-DK5TSJ M!7^E5D)F__+%F8?P.$R"<4BCE[M966I*KG<%*E7" +XS!6#2[!"9[* 6-LW#$UF#U"$*39VGFR2 M%+#BV#$$D&X((,-#P+:=E)92M4(VB3R*DR0.2#^X%DEX"Q0GL:.3DX[TR3#I M&QVPSNR#7<#&]JMC\6:3M"_>)CM?#/3GFK^9O,^*$FAE":K^"84PR.T7D.V) M$IOZ(\)<*"76]>&*,X"N!>#^4@CU=!^AA$HL#435N'RKI]-N%"K#IQ9CO0[=?O.DDCH&G72N,# M\>.><\]QR-(+G,%-$EUG&U.]+$'([=#SG8>&&KU-C M%]QX4+ US,'<%C.%,[=E6?(,CZ=D,O1E]'U>$KF5]/I]SDYFC$%N4G!\(2)8_*>W,XGY.CM\< U MF->BW:3)<5GG\)_(\;G,>R2@)\2G?M !'S\/GT""<*^"^_MP%]VVEOW6LE_Q M!:^TW&6L9@J[F6R%7>B")3!TL(0TJ TX\;LW7D0_=-G\3V1[IH/6=/ <>SQ* M$EGF1F/E)< W;"'@A.38)>2*,(&US/($"'8%LI3EPJQ*@1560[K.I4X65"%%-_N9M?QXS"T$YZ?M6%[7L+62_BLE[',,NP 6!O)W0DIF"(;)DH@ M1SQ']4(PI4D!V*I2_(0[O]>:_W1'%^U12KT#^?\,VY/?;^7W7R&_$JD)*TTJ M%?\#RRZ]-6%_][B]/K6_ \4O"-S3'+6:H]=KYEJ7W7JC1S(\/Z)>/SP\X:[ M_KE':7B@U]UI:"%@AE/9.D4/5+;N>&%E476\A#?;0:ICB+0?* M!N#^2DKS,+&-M+TWX[]02P,$% @ _( #5U$ (I+W!0 _1H !@ !X M;"]W;W)K5QN"YDLZZ!--J88 MB_$F2?/1=%)?NR^F$[7369K+^P*5N\TF*?ZYD9EZN1J1T=N%A_1YK:L+X^ED MFSS+N=2?M_>%.1L?6);I1N9EJG)4R-75Z)I'[^Q?ZC%&S%/22EG M*OLK7>KUU2@8H:5<);M,/ZB7WV4KB%=\"Y65]5_TTF ]/D*+7:G5I@TV=[!) M\^9_\MHFXBB ] 70-H#: 5Y/ &L#V+>.X+4!WK>.P-N 6OJXT5XG+DIT,IT4 MZ@45%=JP50=U]NMHDZ\TKR;*7!?FU]3$Z>GL[C:*;^=QA.:/UX_QI_CV<8[N M/J"[^_CA^O'CW>T?YQ'Z^<=?)F-M1JSBQHN6_:9AISWL#'U2N5Z7*,Z7 M<@G$1\/Q8B!^;)0>Y-(WN3=TD/"/77Z!&'Z'**8,N)_9MX=32,[_&SW^[M%/ MDL$.M6D'(O"O4+K/21:= MDRP^$]E)8;Q#8;PA]NF#W,M\)Z'L-X&B#JPV@?V4",(P"\5DO#_.+ "D/B5< MA*? R 4R(X-[ 3X%QBZ0GS0\]6##"&G(0T\&')_D&R/]AK[K:R M2'2:/R/Y:DQ.*\6%KF<80 MSO>9Y\&J">Y<'O[*CE+*I%BL:^E+TV@SM35V'^P^+=7Q783"= &[^0 X(2@/ M[0T&P!&?P9S\$)$*8'==.@ L,0A_3P-Y] *!//<)QWPSHK"X9-&S3.[V6!4KK M)+Q#N81G/@.Z'6>!4WD71QC!3MU=F#"UM*U:#.#>FWG?8S)(YR+)L(UL2_XD M5ZJ0E=W8I_7SO3EM,X%T\MJS"CQW$8H^UT4ZHTF&G>9]3PK>^@&8"-<#$M.5N+W*9P P9(%@SF( 3"H6E/A. M'H"1S2884M&3A\Y^DF'_>2MUJQY4+!RC7U74;%>V8A?(S&K%]DX1 4"?!V;3 M=_J?"^2^Z7^B3W)G/\FP_^PD(]/\4+E."@DZ4')6"WI6MNBL;/&YV$XKTME0 M,NQ#;Y(R78 5:.*"HTF +QBS)Q^$HO:#'HAR^B\$\OJF7&"J^JM^#RO-@\3>.(IGV:RK$JF=+K6Q MFL9K@8N,#KK5_[K(SLH6G94M/A?;:8$ZXTN'C6_O(J.0T^2AP,S>UV"DP,<& MIB!2,FL<66S/( MB8VU#VS-(*='/&J;V_'1Z_R-+)[K[R@E6JA=KINWNX>KAV\UU_47"NOZ#;F< M$>!Z1"[CYDM,1]]\&/J4%,]I7J),KLQ0^,(WMULTWUJ:$ZVV]<>$)Z6UVM2' M:YDL95$!S.\KI?3;237 X8O7]%]02P,$% @ _( #5\48-7') P XPX M !@ !X;"]W;W)KX]C^P[V MC'\7*8!$+QG-Q=!*I=ST;5LL4LBPN&8;R-7,BO$,2]7E:UML..!E 8Y-9H4(P]\M& ;24E.3QR)+99AOF/6Z!L/[1/VDYZV+PR^$=B+@S;2D@% M 86%U Q8_>U@#)1J(K6,ORM.JW:I@8?M5_;/1>PJECD6,&;T+[*4Z=#J6F@) M*[RE\HGMOT 53ZCY%HR*XA?M*UO'0HNMD"RKP&H%&$ H'C, *\" M>*> X V 7P'\]WH(*D#P7@]A!2A"M\O8B\1-L,2C 6=[Q+6U8M.-(OL%6N6+ MY'J?S"17LT3AY&C\,)TDTUDR0;/GF^?D/ID^S]##9S1^N']\2KZHJ;MO";J; MJGZ"KM#7V01]NK@*9S_YSWYS]Z/DN'7N\ O^/P6 M=H%)^Y(],+/KHZXO-G@!0TN=90+X#JS1[[^YD?.'*?%MDDW:)$M:(CN2**@E M"IK81U-U9Y!\P3(P"5!BHP*KKX;=*'#C7C=P!O;N,+?G=KX7N$[H'=M-SNWB ML!OVW!.^Y-PNC+TXCJ+:[BC8L XV;-R/#S(%CE2P*I&IOI1V@#Y1)L1EE8.^ M*0EAF[NP3;))FV1)2V1'PD2U,%'C+ARG.%^#$@&M,.%HA^D6$%LAO,.$XCF% M*_5TN1*8 A*PV'(B"8@.RM7F5582OR!X44\2<0PXK(B_UQ(6#<+Y$%WXG M]+V.>G^(#10O"/K#)'3C&C\J=$D6'FSAJZA[\CFTZ3 Q.'2=7NB;/YFX5B9N M5.8),"4_88G6ZG&(]!.L21*5X@7%0I 541#)"H7*3\NH5J%1QW$JG^>=>&[G>W[0\\*3U)S;F>_$<[LP M=ITX#$["M@]>[1GP=5$N";4UMKDLGV[U:%V1W12%R,GXK=L?NX;QB:K@RH+K M7_JR_+O'?$UR@2BLE"OG.E8:\;*D*CN2;8J:8V@KFM'_P!02P,$% @ _( #5ZVZF9OP @ D@D !@ !X;"]W;W)K M^6DDD%&[I8:KO@1[T56> 4]=UJ(LW,+UGF-$.NJ. @ M,>U[9\UNW+'VSN">XE;MC<%F,A/BP4XNYWTOL $APT1;!F(^&QPB8Y;(A/&] MX/1*EQ:X/WYD/W>YFUQF1.%0L&]TKI=][[,'_01B_*[3V9:FEVJ<'I:'A]-8JOIO$( MIK=GM_$XOKJ=PO4Y#*_'DYOXPFQ=WL=P>67F,1Q-B$2NEZAI0MA':,#== 1' M[S_V?&UBL8Q^4O@=Y'[#%_RV8"P,DX*8SW%>@1_5XT]K\+[1H!0B?!1B$-82 M?EWS$V@%QQ &8:LBGN';X6%5.O_G/?YG[T_$:)6WHN7X6@>X%55GG[.WJ]GM MT]=5*Y)@WS-OFT*Y02_Z\*YY&GRI$OZ09*-#DL4'(GMR1.WRB-IU[-%P2?@" M@7)("96P(6R-(%(@&T(9F3%LF"+24(0A*$S6DFJ*ZABX*3W&2I,=X,X4&X5P M-$..*=65_^(\B%,7A*TYFRCH^9O]X_G3HF'OX+[-Z%66N)[EB4*=4J%.K4(W M2!C]B7-8F'()MBC526.*7L*(4C2E!J*%4XKR1&18I5J55IU7M:H-^&^O\B') MXKK8<_7]O2*3H5RXZJX@$6NN\Y>E7"T;B#-7-Y^M#YK=8;-B?60:CKP_^$V? M=RMC(A>4*V"8&E?!R2<3KQTTX_ M,A)MR222#9P%]A#@[L&2.7VLFQ_M75EVP<_5 M3>ZZ;O-^.FWG=^6J:-_5FW(M?G-3-ZNB$U^;VVF[:VT6DYQ&$;3 M55&M)^>GVY]]:;UXOV^W?P>.N+4LG MP?R^[>K5OK,8P:I:[_XM?NX=<=0!D8$.>-\!:QUP/-"![#L0W4(RT('N.U"M M QF: ]MW8$^=0[3O$&U]OW/6UM-9T17GITW]]:X'6?]C2M>TM'%RM^ROK MJFO$;RO1KSN?77[.\L]7>19<77^XSC_EGZ^O@DLNOEW._OG;Y;^R_.O57X/\ MW]\^7O\O. F^767!FS^_/9UVPG:/,)WO[5SL[. A._5J)2ZDJZZ>_[#TGKE[ M?U@LJOY"+);!EZ):G'QKTH++G?C7M?&C*:"SP.I^$ J MWN+0 9R+\K9:]W,3BVY9K.=E&Q1=D)7S=P%!?PMPB)&-P1UHM 7M=Z2'\K[=%//R;"*NI;9L'LK) M^5_^))S[=]M5#@F60X)Q(#"%3GJ@DV[1R0"=8NF)&VQ;!F\$;=M/;X-JO^_< MUR.D43YN5.$@.G 0.3G(JH=J4:X7;; 1]V8;#\[^ MOCQ @F61X9(3L7>S%.%88P+2+'^*686+^,!%[.1B%XW,E6AD6;>V&.?"B>3+ M"B18!@F6QQ9?ATG"M/ABM)G"1W+@(W'RL;WOG/2ISV++BJ"DV&94Y<_^LW77 MN E';UO;$.\H"V[;EF*7+D+ZAN1 M*[==4\W[P+[MJ0ONUU5G73VI&;5JT5YJ7E&1"%BU9IESH+ZNAP3C Q,8<#T* M9/+AELRUBC2'>]T[SWFH%$RT'1.!2:2J24()!;@\C7"UVL^50T!]$!6SDD M-K7&H-#4)D0CE#!*]05DMB11BC$+-6$GM[2,C'B9VUIA1A-*!D(J)%-\Y$PI M#7=I>LVXZZCU\@]I9-PU0%-X4+0<%(U#H:F4RC0>N?/X9RJ6>]01R1)9$E^[ M9FEI.2!:6EK:5$M+,[=LB636C=QI-X!PBR% HN6@:!P*3655 MYN\H?DW]$H$F]:!H&2A:#HK&H=!4UJ5*@-PR@5O&='?V)A42+0-%RT'1.#*U M Q;C.(Z&]EZI'B"W?& )V/YQOQ:;;>B(.BR*@25@,Y-NS&)"$JSK!I:6-$01 M8;JXD[LGX^U5TV[$DC2)R(!VB:4P@-W"P$A@-^IB;$H!O8M1B#6U;^8>B.\B M $7+0=$X%)I*J90#L%L.L =VHR$ZM@@#YF+!9F(]D-U86@YD-Y:6ENS&ULJ9 MW>"CLWOOPWO?! ?;\WM+@N,>B_0(!*%J!H?'P.*CU2C,#N:H*7GY+N#1Q?7\P,XRQG[R)1BW0*0/4#4#0^ M.@65 2D,8+_>R>: M9@X\E&A"YMX9*%H.BL:AT-0J7JD=$+=V,'Z"8&5RCZHM%CU-(J:P@",:QI3J MFY2E)17[ ,6)'CBYY^-=/CH >6UUP&W FRQ+#DY%_*L7^8!: MS4'1^/@<5+*DD$#&*PS@:JZ)F9H3%F,]E@>M- !%RT'1.!2:2JZ4,XAW.<+Q M&2&Q4F@M1S 27TLY0I2D""-=);*T)"(_%G^0?N1M+T:(3JDZ12 M4J O*D<8=3&UEB.DE,6Z&.<>B/>CHJ#E"*!H' I-I51J&?0YY0BC^@6UEB/H MBX5:RA'L*I&EY8!*Y)Z/M_!O5?J%M2M6XR<$MJ#$]NC$_J)WHQ:'IT0=XPT2?6LRM*2 MH@C'6'_@-7=/QMNKIET1H*8))0,Y$Y7Z W7K#QZGA'87V\[EHQ Q/22>N0?B MO0A U0A0- Z%IE(J-0OJUBS&RU'M3)IE#+;XSTS>!Y(E2\N!9,D]'V_OFW9' MDB4I,%"WP.!7MFKWLJDJ#.5+H,H"*%H.BL:AT%16I;) TU>-_R!3_1DH6@:* MEH.B<2@T]9U*4OA@XR]H<+Q5"5(0F(&B9C"WZO'R,Q!F>?VA=K=C MIBYRDL8HU%4E]UB]&0#5,8;F,/"X#),*!1NO:( [V&#F<3]+([VHSSTD[ST+ M5(@ 1>-0:"JY4HA@;B'"ZV4R;BSO;<^2K8M(65]RH'H#*!H?FX'*R=$;%T?$ MAN>^=8997ID0AKKBX+;NO;9 GY8 1>-0:"J/4MU@?NK&4Q2-/>2(:&1I-2 : M65H.B$;NR7B[WK3K%HV85!B86V%XJ6C$S!1]0#1R#\1[I8!618"B<2BT':73 MH[>E]V_/_U0TMY78OI;EC8 /W\7"]\WNA?2[+UV]V;Y _7O==?5J^_&N+$3N MVS<0O[^IZ^[7E_Z=[(?_%N#\_U!+ P04 " #\@ -7)L<^M3(" H!0 M& 'AL+W=OU[CN\YYMJON7B0 M&8!"3T5>R@!G2E430F2204'E@%=0ZITM%P55.A0[(BL!-+6@(B>NXXQ)05F) M0]^N12+T^5[EK(1((+DO"BK^7D'.ZP /\7%AQ7:9,@LD]"NZ@QC4?14)'9&. M)64%E)+Q$@G8!OAR.)EZ)M\F_&)0R]X<&24;SA],<)L&V#$%00Z),@Q4#P>8 M0IX;(EW&8\N)NR,-L#\_LE];[5K+ADJ8\OPW2U46X N,4MC2?:Y6O+Z!5L_( M\"4\E_:+ZB;W_ RC9"\5+UJPKJ!@93/2I]:''F#X$L!M >YK 5X+L,Z1IC(K M:T85#7W!:R1,MF8S$^N-16LUK#2W&"NA=YG&J7"Z7,SFBW@^0_'ZZV@Y_7ZS_#&;K^*/:/[S_G;]!WV*J(!29:!80O//Z"MZCPB2F5Z5/E&Z M'$-*DO;HJ^9H]X6C[Z@8(&_X!;F.ZYV 3U\/=Y_#B3:A<\+MG' MG_<&3IP2 MV["?G68WS3B1%4T@P+K;)(@#X/##N^'8^79*^AN1/3/"ZXSP_L<>SMB!I5"F M$D64I>BRX/M2H0@$BLU-G]+>$%Y80O-N',+AP!GYY-#7U"2-^TE=1E,HZ?W' MY@W15[QCI40Y;#7&&9R/,!)-7S:!XI7]M3=F6 M[G$,_P%02P,$% @ _( #5[5^_0PY" W2( !@ !X;"]W;W)K8:HB")&XI00,B'>?IM@+0HD2!L;WES$8M4H_4W#OTU0)[=2_6C6@NA@X=- M45;GH[76V]/QN,K68L.K]W(K2OAF*=6&:[A4JW&U58(O;*--,28(1>,-S\O1 MY,S>NU63,[G315Z*6Q54N\V&J\KKQ)5^MM;DQGIQM^4K,A/ZV MO55P-=Y[6>0;45:Y+ ,EEN>C"WPZ#8EI8"W^G8O[ZN!S8$*92_G#7'Q:G(^0 M420*D6GC@L.?.S$516$\@8Z?C=/1_C=-P\//3]X_VN AF#FOQ%06W_.%7I^/ MDE&P$$N^*_07>?^G: )BQE\FB\K^']PWMF@49+M*RTW3&!1L\K+^RQ^:CCAH M '[<#4C3@'0;A ,-:-. VD!K93:L2Z[YY$S)^T 9:_!F/MB^L:TAFKPTPSC3 M"K[-H9V>3&^N+Z^N9U>7P>SKQ=>KSU?77V?!S<=@>C'[,_CXU\WW67 2?)M= M!K_^\[>SL89?-.W&6>/]0^V=#'B/@L^RU.LJN"H78G',HVML=B6-[<+_\"*@22C MJT!+R#*9++.\$$&Y5VWNFZN,5^M@J^1=#A,SF#\&\J5#R=YR*-_(V5%O1?O> MBKQ#.5WS0#;G928"X$*PD+NY7NX*Z(A,[J O7;U0NV8'(XACE"+6 M&>B^&<$T1NYACO?"XQ<*MP-HB6*$BX=,5%7 RT4@YY4LA#9&=S =I'IT!1'W M@XABFM!.$ ZS-"&A.XAD'T3B#>)2P)!F.:]A!I+Y1BJ=_VUON,0F/14T2E.4 M=,3VS5*28(3=:M.]VM2K]M<_H"+X+0"IB[S:RHH7@5R:[H=5HQ^M?O%SEV_- MVG.)3_OB$T8ZTOM&)V&2#O0S1BWAD%?[3,OLQXEA_2* % %4#78R8VKH['& MB* TZFAU&+(XI!$=4'O 8_S,O%@*I4#J4[[B#Z)Z9W*64R_N]QE&$6.X)]AE M&89IF PH)JUBXE7\EX1%!S,#:JJ=LGG3S VS\)I<[!3N]?G:--IX.PHN080- MA-;B'?OY7F>:RJ2: SY4E=!UFBER/L^+85;@-^7^6WD[[HR6_-B/_HL&!X:K M(K_C\\)9 S1>CG(^(CA$W;3J,#RA)&4L) /CUM8!V O.R2=?UF_:'N<9@DD< M=>GELF1)S-"0P!:]V,_>6R6V/(>D^6#2D6B@I=="0=$/R[_4S31S!M"G*HM9 MU"6!P^PD9";. ?4M?[$?P#=6J$=@GY@LQ"SL*720%84X'=#7HA7[V;J?J5O^ M.#A-^Z"T%4S4FZ9]PQ/,(C(T!UJD8C]30:7:0:('D4H6A9T"N%"^A+&FRH%-B'X?8X+ KT4'-!..!:HJTS"1^9NXIKP1DJIU;H@-J4� MN"?284@81?% Z41:_A$O4IKQ?LI(![1SZJ7]Q,\0_.O*[=N=Q&DZ-.PMGXB? M3T\Y];!PV+Z3%$_'CZ?JE&U"G_#Z4$LS2I)== M'8842L,0#>1_TM*+1-ZRZ).M[5ZP5R9>"KZV_GDK;\=1M]0C?NK=*ID)L:B" MI9*;UU6[?L^O[@<'7M'10CN.L.4F\7/S=J>R-:_JD%Z^N2,.0D810HS@[I1T M6-(8IW1H\;P[@]]0HQ %)2L,$]2CEVI;&#*<# M&R?:TI3Z:;I/ [O*JFYFT?,I@/;!>1)!)U+2S0$N2QK&F Z4 K2%+,7>'/ Q M+WF9O>3HTPOK5Y]]OI&WXZA;;M-GN)V;?%TN3&F9+YSA.F",*2$D[0^3E;B0:@L;Q9V9*HX)K4VC* H1>VY;K;D2 2QJ70B3CTQ )CF9/'7/U<(= MD&.GB<,H[9WTN0QCBH>(25OBTQ<2_VFI+QW+QRG=L06%U1O!-.DF5ZA?B$P)H(.1;V,Q8+ ?S #<\6*(?M2Q$<4$TP317@P.4RAM M"!HJN6F+;_K,J?&0Y'>PZUKE96D&PW!/J%RZE[:#NW$:H20*NV'T+2.<0HW+ M!AA-6T93/Z,]80ASAN -H(_?D"6$)+2W$/J60',6,SJTOEM2T]0+CMENNZW7 M+B_,:7)6R&H':QJ4VY"6!7C,R_H)-:0H-U2\U<"KH?)&WHZ?J+5U0.BO ^R0 MVH1GGF(\MWT)^T@G,8MP[SC=81@S0/\ 6\(6_:%_?_WEYEM=6-DG;*NR*;K, M\Y?ZR8P)HQ3W06'3A9P7^6KPQ#WL[[ )B=.D%\W_ _QA"_[0#_Z#)[VPRJJU M5/I$"[5I8MSRQ_JQH^D1979T][E>/R5*.Z7_E[U>(^KP02DE(63_;N?T[0@, M->X.]?C@18&-4"O[_D05V-.R^B'\_N[^'8T+^V9"Y_X'?#JMW[1HW=0O?GSF M"I)I!?VR!)?H?0PCJ^IW*>H++;?V=82YU%IN[,>UX NAC %\OY12/UV8']B_ MT3+Y+U!+ P04 " #\@ -77\MV!F8' ! $@ &0 'AL+W=OCT=FPDDKW+L_CVKV] M/#?!ETK3O14N5)6TNRLJS?:B-^ZU"W.U+CPO#"_/:[FF!?G'^M[B;=BAY*HB M[931PM+JHC<=?[QZS_)1X%^*MN[@6; G2V.>^&667_1&;!"5E'E&D/BWH6LJ M2P:"&7\VF+WN2%8\?&[1OT3?X\J]\5%[T-/Y+22H?1SL_V9&G]^ M9+S,E"[^%=LD.YGT1!:<-U6C# LJI=-_^=S$X4#AP^@K"I-&81+M3@=%*V^D MEY?GUFR%96F@\4-T-6K#.*4Y*0MOL:N@YR^OI%-.F)6XM^1(>\FQ.A]Z0+/ M,&M@KA+,Y"LP9^+6:%\X\5GGE+_4'\*DSJY):]?5Y$W 7X(>B--17TQ&D],W M\$X[/T\CWNG_ZF>">7\]FH'LAGJ7WW\W/AM]>L/(]YV1[]]" M_W8CWX89B^^_^S 93SZ)HX#BH2!T0V:J6NJ=TFNAM">K*I$99$\[RL5*::DS M)4OAH$3H0A]Q9O/IS>SV\XVXOIO?W\VG#[.[W\0[/FXR^M1NQM?QI[[P.*C9 MNTZG=5O-\I9>KYA@FZ4?1"$W))9$6B#8M;0PK [6!:F]\";"VU"2$U+G8(AU M**.#T5+>7% 6K/*JD?C\G!52KTG F$JYR"OO#FQG(;8).:+ M% *0E3%>&T\B5RXKC0N(K- L4I8[4:]?1=&% MK#@>QD&LE+8X]FX%] *N M]]EUCKZIE68H)*V2&I. Y?I"4T;.85 @Y#8*KJ2R;833Z5!!O1R85ANG>*U+$7.XM ^,XCA:0JG:M,\D1JB[6%C_&IY [I$_1<(Y3;XM21T.Y]U'!3KR2L^LR*N]I*/4>B!?I=Y MYC;GC%6\"$9%_[*1J3QXO$(\9C0XSH6J4OH1?L7]"(%0XLPGW(XYQD#) M Z<$=8K28JNL:TOE43,)B@470(**,TK9_ 0EY'?LGT?R@C=1"6G6L;"8Y0=B M(4OZ)F#XN!\.E6-FT )/"U+A0GFFB%EL0$2-F$-'O)=T^]-9](%N^M(= I75'IP,?%6M$(>-W*LET%/@K*GB>5]NIM&5%]EL9ZC![$(& M="06%"\3D^&VJ,AR;-2_*357YYU$)'ZU>K6:%"QMS%.Z&.2(R"X]JCTB)CMW+X<)/\00;8NZ MVXJF/P[@N)#H&>6=[B;)?@QXL$R<$#$;LJ,VOM3D&U0X^ D[ MK'-OC>]]:3']QFF_;^DGVD7> >.9<0(*_+CG3Z=HR&8W/TM7]RW1QA0&1]!:/<>=DC&O&E\Z4&;K;A@1P M(JX3@_PS==F[!]SL,G$Z.?OAH[@ER1TC+&.WRZ[SR#1]%=B+IV\KMSB8V;^D%51'@W_\V!,V?:](+][4\1O!TGAOJOA8 MX$I'E@6PSS>T]H4/Z#X:7?X'4$L#!!0 ( /R U=8N98DX04 !01 9 M >&PO=V]R:W-H965T#[7^1IJKH]D"PV.K*2JN<%/57\Z\V=;P8THU\8*YF3=V)WLI3RB_VX M+$YGG@4$%>3&6N#XN(,%5)4UA##^VMB<#4M:Q>G[UOI[MW?_P:;_4367BXK[7[)?3^7>3.2=]K(>J.,"&K1]$_^L/'# M1"%]3H%M%)C#W2_D4%YPP\].E+PGRLY&:_;%;=5I(SC1V*#<&H6C O7,V0W< M0=,!N8%)0PCP4'[ 7#+@-G+_BQ7?9&POU&;'H_7"C[TW!R"& \3PD/5OA7C8"".O7J3,9V_('G/D0FA>E@I*[C[E:ICU&4@Q M#@)F6R]?*5F3'&.K,'LT4M.L-Z0$IC1U(]IG/D3(0MIQE+J1=Y4Z-$DBZD7,'+9&%"-BP6O2$#]%*TDXV2? M9EZ(DG20X I)0L-@G!-2%L24A0GY( U:V88?(<741U\$V0Y.1A/FTRC.)L+ MI[$7T3#=P1E9C)0EX\QG..1H_#]MGL@NX$[D\ VNN+JY) M9M^C/907D\A/R M8M6YKG[=U2VY?=0&:LN\$$G',';I-'8TC0+J^4_(Z,4^#=)@(DR0#1,%\53D M(Q,#I/5[4$J2*UXV8+#>7(#9'#VV2_@IYD#F[7C(%NMA0*VZ+.L>4 'O*P%=C=3TM)A&[-V.B-+,40[U0/F[_>3ZD,BTT/)'\(OA05 M]E/TTY_8C;;-D523 11J@4U.KGZ\4 RY>P$YU$L,"F+>3=O)Q^'T??H\+^XX M-EC2\L<^!'V_'QH\^B=$/V1LXIP4:WOL)^1V+=I>232_H@MPQX;X&5)R!.0C M%S$&[PY&'?D941_),E(L#1*D6+R)JZT+"4/2!E,CK>@A"PT<6>YQG9 KN!?U?@+6&'F3PKPMH\\G3B-R6(/O"=!=O&< M[O2RR?'BI=T^\'0E^_./0AV\V11/H\=H&*-W@\1:W=53DU,AIN4V4/_>YS%4BRX6?HMSF*NE64^ MUL]T=-:"M[8IB:\(:+"QD-ILBLMD>*!S[H:-30T4O_2S#(M^[(KVRR#$$AJ& MEL6(=#=8=L(_Z$5Q.[H%=S6N'JF;9-,@K[C68B5L5NA-,T )X,JR3Z\A.A99 M@;=T?%ORRM43=QT]VG^]2&@RR>UT#+T#9"3B^DM)L/^P"PQ\A M9W\#4$L#!!0 ( /R U<8R#F.= 0 "L- 9 >&PO=V]R:W-H965T MJJV'H^^FP9EQXT[&CW:GI6#:FX@+N M%-%-73/U<@N57$^\P-L2[OEB:2QA.!VOV (>P'Q=W2D\#3LM):]!:"X%43"? M>#?!U6ULY9W WQS6NO=.;"0S*1_MX6,Y\7SK$%10&*N!X>,)WD%5647HQC\; MG5YGT@+[[UOM?[C8,989T_!.5M]X:983+_=("7/65.9>KO^$33R)U5?(2KM? MLFYEHY%'BD8;66_ Z$'-1?MDSYL\] "Y?P(0;@"A\[LUY+Q\SPR;CI5<$V6E M49M]<:$Z-#K'A2W*@U'(Y8@STUNF>4&8*,E[7C4&2O(9.^&C*&0-9 6*/"R9 M@O'0H"V+&!8;O;>MWO"$WI1\DL(L-?D@2BCW\4/TL7,TW#IZ&YY5^%LS7L>= MU_$Y[?_!Z_-Z(_+V31X&X35YG86-F$ 6W[&T8W'MYJ0DS0K'SBR!K-UL0'G) MGD#AJ!/1U#.4EW."V!JE'%(3W!K:H&TN%J1LE'U8/.KFLAQT'ATUB]-L1UVW M"&E &,XJ4EH,=XXP@^::JB2R*!I%^)QHP!=NN#6-[B!2H8@PBCE%$F/1#71. M&ED\8C!H#)Y!%=P&*1T"X[*.<8&8OO2 /#B07%D?-$4OM5&\L,*MND9P-&7S MC:&X)2L*N&P3>$)XH9BPM-D+:30*N3X3Q@4N1?6RB?D)W9S/,27;U#@'6R:^ M'A3EL 8#\@55SF6%J]O5@LTJS&UKKDTT!KMJ#',9QG+.NNXIS]3JRG6;'UW_ M;\\O2P6PMY((+A1P"^6!/Y_@;-%VY=B?\ SEMT:PIN08\N]':9]W>;@@,0VR M$VI[#879OMQNAT9??F@ 0C&D713OV(!FF^ M.^8T'^VX84BS/";WQZY MY\[V9;26ZEDO$0V\UI708V]I3#/T?9TOL>9Z(!L4=FU357;U.LY'KL!=YVX:%<+(U;\">C MAB_P$H$886Y<0S<#B]XA57EB*R,/QM.KP_I@/OS+?M-F[O-9<8U7LGJJ2S,@*V"NA3=R%\W==@#9/03 M -L 6*N["]2JO.:&3T9*KD$Y;\OF)FVJ+=J**X4[E$>C[&YI<69R*UY0&*G> M" @T(]]83K?CYQO\M,.S3_ )W$EAEAJ^B0*+]WC?:ND%L:V@*3M(^&,E!A!2 M HRR\ !?V"<8MGSAEQ(Q5 W/,>Q9Z^]1O6"WN3D*$CHQ0%Y M42\O.L3^A?H?QD=PZ:=";FT3T@;#7(^;+UI>/'?HST>;(_G&G.L M9Z@@#$B_Z\YLWV"]<;H2?%64!HNS3[D?^-I>;8.JY)6&8TA)0!,2TJCW.(:( M9,RN!R$\V=<.I8!&R1RUAC2.2)+2WC=,SDF:!'!3BM*^CP(64A8:SA-*TC3I MW:(@($F4[M5KAK;7(?#*-BPN<@1K KZV0;@H0,ZTK- @9%9+0-)X%S,F"IRR\)RP+#N#G]+PRF:;D2B("Q56PG3-H5_M6^MEUU%V[EU?ON-J40H-%[/Y?2; T7H/_A3/X"4$L#!!0 ( /R U>' M+Q1L_00 $T, 9 >&PO=V]R:W-H965T>^'E=&/L=]<(XN,X*7@>A5BU8%.6+EDL]6YZ&;]=V>6IZKZ06UY:XOFVYO;\0RFS.9O%L M]^%&KAN/'Q;+TXZOQ5?AOW77%E:+":66K=!.&DVL6)W-SN.3BQ3/AP._2[%Q M!^\$/;DUYCLN/M5GLP@-$DI4'A$X/.[$.Z$4 H$9/T;,V:02!0_?=^B7P7?P MY98[\^1NS^2A&?S+$JXQRX2_9#&<9'*YZYTT["H,% MK=3#DV]''@X$RN@) 38*L&#WH"A8^9Y[OCRU9D,LG@8T? FN!FDP3FH,RE=O M85>"G%]>6XBO]?>$ZYI\^-'+#ACWE&CA3Q<>%."Q136"70Q@[ FPG'PVVC>. M?-"UJ!_*+\"PR3JVL^Z"/0OX2Z_G)(DH81%+GL%+)F^3@)?\-]X.8.GC8%@N M)Z[CE3B;03TX8>_$;/GR19Q';Y\Q-9U,39]#_UE3GP?+R,L7)8O96_(,[,,] ML=LCE8$2=)Z8U4F B9*W__H) 14AH.]%)=I;84D2TVD7HWRX8-/B5:]Y7TLO MZM=/8E^AV45S0(M]3DN=HY)[L&$ +8"TIIT\9+2%0<57U;:\XL \- M#W*]DCRTU%<)+=)C ,[V48%O*<@E2?2:_&8\5T!_20L6 9_)04@838Z/:1GO M_7Y_""VV<.TX 4E'NL?3%(.W0D@2V MI'W^A51#*4PS"M>+ZT2X(-0]'= 2(#E-LF$!N0 AC"=H)[<_#SP?4O2\ A^< M#&Y^T>12W-H>[D-@) C3H SE>M[0(=T!7RIO2$*.JR%1N]Y6#:0AX6L@9R!2^H9\F:J?DBM?SX$$:3CUD,^ND9VI [9 "& /V*J8RU'-/1:]#B>C[8M&EDU0R6@;R$ M&@FJ:]S#UH+3@ =[!AL!#F8+M0^Z,E50)8$LR_4:J>DUFCF:-R?7!]I"W(5M M@V&XN#EDC#ZP8Z^]'H(Z&L [T+Z5N $DLGP.25!A<<.>0A)'/;L885+P/;.= ME57 .=JWHOD3S34T7@K.#>,5IL3M/5D+L[:\ ^* C#5^E ZY7AD%0Y3[?[?A M;SHDRU?DW(7BSUA)H?\^*'Z6EC2)2O()\UL'SR'J\3$VUX/>F4'WC-*QD3S> M"(:[ZY\VF2NCUV\4E./4)1L!#1G&52=KL4N:AS[L+D (K*YDQQ5D!1XT!N[9 M=;"F?;Q7TS'[\7*I(%N,#AW_R:86?)D_-CTL#D:\5MAU&&31-*B%8=J;ODZS M\ODP(NZ/#X/V9V[74!-$B16(1O,BFQ$[#*_#PILN#(RWQL/X&5X;F/>%Q0.P MOS+&[Q:H8/H/8ODG4$L#!!0 ( /R U>\0PT>VP, )4) 9 >&PO M=V]R:W-H965TVOPM!4:^B$N50]2!Q9*MT)BU"O0M-K$+5WZMJ015$6=J*1P6+F M^^[T8J8&VS82[C0Q0]<)_7P+K=K,@SC8=WQM5FOK.L+%K!#G M"3Y VSHBE/''CC.8IG2.Q^T]^T]^[;B61V'@@VI_;VJ[G@=%0&I8BJ&U7]7F M9]BM)W5\E6J-_R>;T9;Q@%2#L:K;.:."KI'C5VQW<3AR**)7'-C.@7G=XT1> MY4=AQ6*FU89H9XULKN&7ZKU17"/=IMQ;C:,-^MG%9VF%7#6/+9 ;8\ :2B38 M66B1VUF$U8[G=N1AK_!DY(N2=FW()UE#_=(_1$V3,+87=LO>)/QED)>$1Y2P MB/$W^/BT4.[Y^/]>Z,B3G.9QA^3*]**">8"GP(!^@F#Q_EV<1==OJ$PFEC+Q_5["879/3C.1A#62I6CR3C5P1*]SX>#";/\$0B\.5ZGHE05I# MU)(T!Q[A>/ LM$)68*[\5!&__L]?W&KP6_T1*N@>01,>TVG4[?\Q8!,X'Z08 MZL9"??$J]YVP?@7[<#22# ;(&>$LID6>3(;['OZ=RW)HVV43C M[."X@R,+[L4=VHY9V(S3\77&1 M,\KB \D>_VN220U% AKGAZ#&-"E*RC&R#UK4>.EC02"H.2OS0^!?0DX9+_%W M" .C9930A.7DIJJ&;F@Q'O4^:L+?P.=%D=(DBP^[=5[PA)9%<4$>E!4M;@*C M/.4T/U+G^J*LI DOI[Z;8UK88H7"")U(4D,VPI SEJ+4C A9^S8O.>:^]DEN MUQJ =./=!>[N.J2CSSSGY+*.8@DR/?@BTC[3D2R-:)+SJ9TEY41LFNV/TUZ2 M3UL'7.2D'# BXM1*]W-H<&77'>#>6:$%QF"B=Q82MI8LD9L\@] &/<9]L>I$ MK!J#K=VM8,@Y;*MVJ/$R.$J>[YPN_OGXW[^(A%-[?,Z]W#.RBR2B!%$<131- M$@=3A&5.>>Y1A@B3*$L+AW)G&M,R21TJG"7ER90ZI^[C\*A4=J!7_D%@\*X; MI!VKYM0[O3ENQE)[,!\?+%^$7C72D!:6Z!I=YFE ]/@(&(%5O2^\C\IB&??- M-;Z;0#L#'%\J9?? 33"]Q!9_ 5!+ P04 " #\@ -7E'\1WGX" #)!0 M&0 'AL+W=OOM=)V'E7.-9=Q;/,*:V%'ID'-D=)0+1R;M(IM0RB*4%2K.$V2L[@64D?9 M+/CN*9N9UBFI\9[ MG4M:+M 93;S:!SM' ]R53GOB+-9(U;XB.Y7$"G/G$00?:[Q! MI3P0TWCI,:.AI2_SZG' MRXVRX0F;+C>=1I"WUIFZ+V8&M=3=*5[[][!7<)%\4I#V!6G@W34*++\()[(9 MF0V0SV8T?PE20S63D]I_E$='')5A&H1[E#8EI#?N+.SV#&X3XGS M'FC1 :6? )W!G=&NLO!5%UC\71\SJ8%9NF.V2 \"_FCU"";)":1).CF -QF4 M3@+>Y/^5=D#3CX'\F%S:1N0XCW@.+-(:H^SX:'R67!V@.1UH3@^A_PO-@T ? MTSR'XZ.+=)Q>P2=]X&>%4/K8VL<\"SEIO79A#FR>ZF0 MO9IWB-#%>[016Q\"T31D7B7/$(*KD,%S0;25>@6B[E(+YN%,'[65(<^I'\-$7C/?&JT9:A25B(8CL)FWP#GOJNAO/]_1NR=T)6DEM06') MIC'ZX5[UHDG\#QTABW,WR#87MG;U!+ P04 M" #\@ -79L$=MQP# !!"@ &0 'AL+W=O1;V@C65)2K)D/;KNY+! M(6VA]X?V :S+GK-G5VMYARNEWYL"T<)M*:09!86UBT$8FJS DIE#M4!).S.E M2V9IJN>A66ADN0>5(DRBJ!>6C,M@//1K5WH\5)457.*5!E.5)=,?)RC4:A3$ MP6;AFL\+ZQ;"\7#!YGB#]LWB2M,L;%AR7J(T7$G0.!L%9_%@2SQ'(1P1R?BPY@P:EPZX/=ZP/_6Q4RQ3 M9O!0XXQ5PEZKU7-:K4"[:R)S0U\J!Y-XKATAW)C->UR MPMGQ69959268Q1Q>V0(UG*N2CK=P>5\B7,A,E3@,+?ERB#!;\TYJWF0';P\N ME;2%@2[SC:0K2_!/Q-QZJ8Q!TV[VGM'= M12'(9N%LR;A@4X$'].8?W#"!S=8-9I7FEJ/YRD6KDJS*.<7?A@D33&8DU<(E MTUD!:;R.Y&&3Z9;SVP:GQCEGC5/*RH%Q3DWCK$[;!GF-F6#&\!G/F*UOQW5L M7'I#9%IR.3<-8DO/_<3>R=F5N5VA)(3M=>+D^!<":?7Z[9^(HM7K1-V3]JXH MDCU1_-DZ-?SV/ZW2QYAA.:5D;)WNOUNH7T83$SP^[D1Q\BO%&D>=DV[Z=POV M6]^&<.NS7J*>^^;%4+E6TM9?^&:UZ8_.ZK;@SKQNKNC-G;OR$3@C:'1XW U MUPU+/;%JX9N$J;+4:F= ^S.E[&;B'#1=X_@S4$L#!!0 ( /R M U?"A.!O900 ),+ 9 >&PO=V]R:W-H965TDB+-BZW23Z8"L.2YJ:6YG%36KL^F4U-4T'!SJM8@\62I=,,M MBGHU-6L-O/1&33T-&4NG#1=R,K_P>W=Z?J%:6PL)=YJ8MFFX?KF&6FTO)\%D MMW$O5I5U&]/YQ9JOX 'LE_6=1FDZH)2B 6F$DD3#\G)R%9Q=QT[?*_PN8&M& M:^(\62CUY(1?R\L)?=7>19_L MGU]HM27::2.:6WA7O362$](EY<%J M/!5H9^5K^RFR&JB%.VK7X4' WUIY2B)&2-+@:>;SH.[C:(<5O([E".3-K M7L#E!"O!@-[ 9/[Q0Y"R\P,\XX%G? C]'_$\C)23CQ]F81">D_D#,N'0(#Y9;P)*UAJ@EN5V# M]F#FS!-AT?G_]O]8:8!7+Y(\B.?7&SM=?&C@']J[&^X%NI]PM-J='0^!.'ES M[T89ZZ*A80.R!7)$TI#&$1N4CTA&\R09R4$8TR"+1CNSC$993GX&B2&M"9>8 MD1+;@3#6A7@#),P#&L7I8!,PFK)X$),9H]GHTI YQ)@\\!J,Q\.>_ 16R!4) MTISB6QYTD6^8[-E$+*51FNUORG.:9@FYQTK@NJ@\6HG>UFKMW@*)$YH$LT$_ M9C3(@T',&9V%>[0LIWF4D$=ET<\CDJ0S&B?QJ^ $E+%Q< (:L)"R/!OM)5F, M)/=:5_Y%#HEU::1D"Z3B)3F*:!2FZ&/N=%HY>O:O2J)PF=10<_?HK4+-#1BW MQAY@M2C)7 L,A#('G-12]U0+&=:4VH E')N[K >4GCC)^# F6 MCE"EXQ.>8E9?,++F]+ 7F%Z:8IS_G0]XH?_$RP+Z=O ?>Q4&.Z\>L9MTS<6] M/LL7-6JZONKZ"-_-"\Y*M9K UU;8%\*W7)?=1]V)R-UW)8-%WG1%#K[(7P6+ M')N*(_+)]VM(=_NX_6V;K@_O)-^"!^E^'_4#6[=KWU>_P?CB$O3FWFUKC<6Z M= %>P$I(Z588T3XCV'!8P$B08!.),A)F=#:+R96+L2$KS>7NNH M8QT'-'>]N6/=^__6EW@Z&I0:T"L_#B(5U4K;S4S#[C!Q7G6#UEZ]&U<_DNR"DI=.RFFTY-))Y5.%N=A[]8NSLW@6Z7IU@HW M=)VTVRMJS?HBR9/]QIU:-9XW)HOS7J[HGORG_M;B:S*B5*HC[931PE)]D5SF M9U='+!\$_E:T=@=KP9XLC?G*'S?513)E0M12Z1E!XN>!KJEM&0@TONTPD]$D M*QZN]^CO@N_P92D=79OVLZI\]KY<\QXI6E=^"_643:? M):(UCY[6YH8X M<[TLZ2)!Q3NR#Y0L7KW(3Z9OGN%V-'([>@[]7[D]KYU/Q:L7\R(OWHA#((%: M%;XA_%DB(74EG-J(+J:).$T"0:8QR*E8$[JK-):/I.BM>5"AY=#Q0D5H+S>" M-K@(' E3BY=YFN?S]'A>! ,OBW1Z4J3YZSP%DNLI=%J[S<1?@Q54UW$CH%CI M2:RE$T6>Y:(G6Y+V 04;1_N-QSAI.*\4@"PXUM9TP<5/V7TFWE%%5K;">>D' M;^PVFNBMPB6CVJVH!E@V49B%Z FG4M%+ZY5L(6_JVN$R7&[%DC35RKMH$>% MBVNTO 6K"BA>ZI5:MB,@L^0RD;9L(F4"?=-W[");*T$?>-FO)JGXK22=SN;I MR2R/*ZZT8=$G6XZ$,IGKC%#],,/89 MS"SANK<6^BU+RC7O@,(SB@BR]*(T0QN\PCL$/U%)*PT*I81+O=RR:RZ-7&2+ M%<@89,?B%?$(%**-("@9$=E$HU"#SBL^%^:!8JEJVGB1%[LB#9R7U"KBJF$: M!H7TF!TBWL,70")KWZWM"L?AH?-(0M^WX,HY8NU6KC/QWJP!:]/]C@ A-RR_ M0(LK!6DEB_O8!\[Q#IDK*Q$><7B-;;-82CW(_!/R@&T=8%^J:T_ZT5^S(OFR?O'PI M(A33_#1>@!L[)%A[KLJ3=V5 < &,2 9 >&PO=V]R:W-H965T M]]C<^=L2R$%9>Z_J+JMSZ8C0;L4HN15>[CWK[ M3]G'DY.^4M?6_[)MD(W3$2L[Z_2F7PP/-JH)_^*^S\/1@EGTQ(*D7Y!XOX,A M[^4OPHG+[DZ/+''^(B>O6,5]G@5?:<]F>\>GY= M'+,??Y@E9;)PTLF*J<9J!JT8XU:Q835*LQ!X9 -\RT)?I MS@ Z3;?$3&=(JJU%XSC3RZ4J)?-APJ49]8@A%G'51 _9B];=@[& 3;L:UQQMGVQ&'!&MV\*$53REHL:GD: 8?B M#0R7-/.NJW]5G+)?KV794?E MA?WF$V9"%J_70J%R-$@C7%D;V9NQR 5HCAW SN])ZD/$ M0Q+\N=:;5C0[U@I5'1+)SN)DRF?QU$N?Q?&,YU$&?VTK?4&N=P>+5MW_]_:2 M/.=%F@=[23KE431[PMY."M-;^D66 V%R2Y$. MK\EG8%M4E2*KL+$D!E!2P2U$A\9(E 380'/TY[#L$3\/P209):^6UD+OG0]^ M:Y1#(E H'(&4/(2KJ@DJD'.'0P+P#7;<@905/W)QJ^J:B0Y-%-*EIX&/(Q0/ M8.O(>=N5)>Q2"&2 #!WB80NY4DW3AT-^ABS"%(Y"2T>,]\86ATR1C1.E@=G- M'GFB7(_9:Q?RCR@\,BK=$J)>WWZFS2U>1(!B7_-13M_(A>GK:9)^7T_=5G/Z M>4$&^!\45QNJ.0GM<=RB:BH9VL51;HX;Q#.%]/MR=D"=#5%J!W6/EZXXXE&> M_SWUYPQ"<=$7@>AO+S=G><+GTR?4_^_(?Y+=Z.T>XMP&+GFGR 62"RY4F M-OGU@MC9$"W0T= HT/GK3K(5%L 2\J_-H=5#R*%3^$97ZCMR$#<".HIX>V"" MM43=P\Z+LM1=XR$7DD'F(=5M6H(6DD,ADGPEX4MMH62%)DD+T/G;6GJ6(X6A MA#QL]D-O]P4-9QEJXY4D$'=FJ(!E9SS& %:Z=QR="(!SU)%:_5M68W^^BM)7 M[+?OSE#6P:M2KQH2W/?.KA$=^(&):XT-QPZA03ADBHY)?M-[110E+ DB58T[ MD'TYF/I__7_R3#H^L+-;8/_!Q%YVX,"3$YX<1X/D3[SY:4C7SX_.75.2D3,C M@2K@[XSE,Q[-"GI(^2S/\!#'!8^G"3U%4SY%5_\'*JT!+CVH*O0$!7P*#T_T MYR0J!EMYQJ=Q- SC6%U',UYED3L5J#U] PT7Z5'06H>C\QPGD8/)&4_S8X>@]Y [1#J-(O;)5TO$ M6R0\S^;#:\K%G,]A[#"3HB6E17(TDZ1S9.Y@\?T YU#?[5H;]\+WNGW50"-A M:C/P??F@$E,\SY=,/M3,,7HZD10LZ\^RIU>36HE%3U[/EA-%?Y$QMP_\(BNG M![J4,E+,>9%/??\&KG(^![!\5CT+)]G/,N* M?GM".*W8!>+C7(@S>(ZSX=M-V[G0F"553O93.BOX;%K\["\0!(E0;!']:4[@ M*T^R*2^*Z3[&QVZ?DZ.+/\[Q*_]YPS)?<\,W@&%V^(+R.GPX.(B'SR\?A,$) MATZP2RR-QM-\Q$SXI!$&3K?^,\)".YRG_"-=M*0A ;Q?:NWV S(P?%>Z_ ]0 M2P,$% @ _( #5ZF$@[,0 @ \@0 !D !X;"]W;W)K&ULK91=;YLP%(;_BN5*O9H",>F'4D!JLDW;M$I1JV[7#IR 56PS M^U"Z?S_;$)I)+=*DW8 _SOOX/7".TUZ;)UL#('F1C;(9K1';=139H@;)[4*W MH-S.01O)T4U-%=G6 "^#2#81B^/+2'*A:)Z&M9W)4]UA(Q3L#+&=E-S\WD"C M^XPNZ7'A7E0U^H4H3UM>P0/@8[LS;A9-E%)(4%9H10P<,GJ[7&]6/CX$_!#0 MVY,Q\9GLM7[RDZ]E1F-O"!HHT!.X>SW#%IK&@YR-7R.33D=ZX>GX2/\<Y M[+F%K6Y^BA+KC%Y34L*!=PW>Z_X+C/E<>%ZA&QN>I!]BDYB2HK.HY2AV#J10 MPYN_C-_A1'#%WA&P4<""[^&@X/(C1YZG1O?$^&A'\X.0:E [0$9 M=3UAP3P#S<_/EI?QS8S9U61V-4?_=[/SN"4CYV?7;,ENR"R9[#I3U*[42?$: MMB#?H>*-JSU$,';Q5GK121U*,%7H-NLHG<*A)*?5J:%OASI^#1]N@SMN*J$L M:>#@I/'BZH(2,W38,$'=AJK>:W0]$H:UNY3 ^ "W?] :CQ-_P'3-Y7\ 4$L# M!!0 ( /R U<$VNP+C0< %X3 9 >&PO=V]R:W-H965T%@<-8OI=*=R_/X[-Y>GIO@"Z7I MW@H7RE+:S1459GW1.>XT#R9JL?3\H']Y7LD%3,%I;F M%YW1\<>K,Y:/ K\K6KN=:\&>S(QYXIMQ?M$9L$%44.890>+?BJZI*!@(9OQ9 M8W;:(UEQ][I!_Q)]AR\SZ>C:%%]5[I<7G0\=D=-O[R2CKEA)F+>TN.M)[=>=_C M%);M9S7B54(/!X,KH9WWZ^$==WD_N[R>AA?/>;>/OFIP_#X>!3\S+>'G_J"H^#ZG?7Z;3V M5?UX3:^?F&#K1^_$4JY(S(BT0# K:6%8%:P+4GOA382WH2 GI,Y!!HM0Q(A$ M2_GEE+)@E5>UQ.?G;"GU@@2,*96+%/)VQ\;IY^OFZ)ZX)NM!7XA-(KG(%@"9 M&^.U\21RY;+"N(!4",TB1;$154H,#%4LK@,BN#>6K4,LAUS8'#*$/O=+\=B; M]L2"--F(B==4,23+!>TY8Y55@*S8]R;Z_QB-[O=$;IM38X4IE?>OHNA"MMP? MQI[@2FF*8^O&;DA0CT'+D"O =L4L>"9E9E>@%44=&"'S/\!:R7._E%[ ]2Z[ MSM$WE=(,A:254H/T6:XK-&7D'&8"0FZCX%PJVT0XG0X5U,N.:95QBM]T888# M!\=2P+"R=6&PAYET2S''X'$MA9E MXC=B?A-@)VK9B9U%('SKD4)2EP/3> *V=DQ:51[$?+4+ISQ46JM"57&>H'# M>!J+X\'1O_XK5%!Z':GAUN6FG^K1!NT"E9$.8I34IVVUX9&C[PQ/%^GCSA72 M825PF56SA/L;TP M^$IUS5.,E^;\<*#DK"#A:,'FB?52H?&5BV[FM,(J5J7.0Q>&.38C+I98WK*( M57HK%YJ\RA!V9W3DJW$I%QR_AH1N)^.6@V(]><5GEL357O Q"CW0;3//W.:< ML8H?@E'1OVQD*@\>GQ"/&0V._9B'WC M^8>!DCS]&=0* M=NNFB58H'Q/!$GB8%PH#UM4SU.(% M9H0)"]"D;SEI:SK/!!!;L*P*YJU]:YLCK3@H_.;@9."K9H(X;&0J*8"> F=- M&<_[3"8<)/0D3;HN[6HNZ/'3@N)'I&>:?5*=F/_0,D& =8S(9LF9=W MKGR%"@=]@L*R.&"XNF;!H5>=.[1=;$N+IT-<1K;+Y!-M(BV"DNN%^D7; KHN M]I1ZQ4%/TQ3I0(MR)U7Y-G?_V @WXLVE\( MPH.T"V(R? "UI=T>"2H4S?<55W_GFP=8;!&_[#@1\Y<^?[1/VX]'H_3-9"N> MOCS=XF">2 7-H3KH_8RA;=/7G'3C316_H,R,]Z:,ETMLP619 .]YJ6UN^(#V MD]KE?P!02P,$% @ _( #5_4V_/X,!0 *@\ !D !X;"]W;W)K&ULS5=M;]LV$/XKA#<4+<#5(O6>)@;RTF(9$""(V^XS M+9UEHA*I472<[-?O2-NR;#A>BF'=OEC2^>[XW-US1_)\IC>ZQ84_C/7IA$6/TTU[EH#HO1&33WF09",&R'5:'+N9?=F M!!5@OK!./)>2LJF(+]TMX;_!KW7DK9 M@.JD5L3 _&)TRCP &"&@KK/ A\/,(U MU+5SA##^V/@<]4LZP^'[UOLG'SO&,A,=7.OZ=UG:Q<4H&Y$2YF)9VP>]^A4V M\7B A:X[_TM6:]TT&9%BV5G=;(P102/5^BF>-GD8&&3!"P9\8\ ][O5"'N6- ML&)R;O2*&*>-WMR+#]5;(SBI7%&FUN"_$NWLY $>02V!/$"A*R5]IMY^%K,: MNG?G8XLK.+UQL?%VM?;&7_"6D#NM[*(C'U4)Y;[]&)'U\/@6WA4_Z?"WI7I/ MPH 2'O#PA+^P#S?T_L+7AWLLRK63Z+@3UR=G72L*N!AA(W1@'F$T>?,32X(/ M)R!&/<3HE/?)%/NN7-9 ])R4LA-59: 2OC H,9L 9L^D ET9T2XD>H7*4UR5 MO8)];N%8:*<7?_-3QH/P _E1S\\+ [!'&C*53_N"K2YR 3P77A0XDK@??D+R M=JG$LI06RG='95^4>Y*I%18Z\C-AG.913F.>].HH#&C&$IKD;"#D$3DY3SFB+X<,%[?(*RY*MT9)C*2G4N;])J(U75+X_4 M0&*F+!OP*$=>)&Q7;4=I)$$<)D,10UJ%R-%/8(PF=Z)28''>W(#=[*K;)5B& MA,Z#O0PQOLL4LHVF!^1R_Z]IO$EX3V<'!B..TAT8Q)]&- GC75TQ34F*3;@+ MBZ64QRCF,;F17:L[OY%1XF:T7\!-2&T78# #&8OW^B]TG4:#8+="CMX"S-*. M.0E-HPS[-"67C396_MD/9GBRX*FZ$L8(99^)P,$->'ZQG8]^.!=B3&O.=]G( M,RSQWBAPS1C\FVU^8J>*^YTJ?O5.56"W&CQBD5J*F:QQ9]UDNU@(5>&[5 3S M?E3OV#9U>N5_.G+ZJ7$#!30SI -F:W]@##Y.#X[#YV7Y*%0!I!7/Z^+/C6XV M1SDP;A:$$58@YX.R9+A%)"PETX5LUT92_8)YPK.O)2S'9M@!8M@%6/V/)_F& MG1%3AC3=D3L+4R1WLF&4FT@IQW8)AS@B3^^0O7X3N($YCH;!A-Z>L X5AZF[ M/D*"@UKXM \!W:H"+QT=,JETIQM-"M$ML#$*P%-]>9AD3J,$DQ"FSNN^G1F< M= <'JK=HDF&[\.@E?#UI/#^.)? _3!;S@! ,#K'O318>/!+D6,2^)UD\PXF< M9Z])%O=[7&ULO5;;;MLX$/T50BV*%F BB;HZL0TDO6"[0(L@;K?/M#2V MB4BBEZ3B[-_OD+)E&;'=%+OHBZ09SGV&1S/>2/6@5P"&/-55HR?>RICUE>_K M8@4UUY=R#0V>+*2JN4%2+7V]5L!+IU17/@N"U*^Y:+SIV/'NU'0L6U.)!NX4 MT6U=<_7/+51R,_%";\>X%\N5L0Q_.E[S)"^K'Z(TJXF7>Z2$!6\K_&E;AY%.2#Z)J#93D*T["YZ:0-9 U*#);<07D[3<^ MKT"_&_L&G5I5O]@ZN.TFA/)0W\=@^XC9+N);=M;@GVUS M2:* $A:PZ(R]J*] Y.Q%_ZD"QQ+O[,;'[=K;=*77O(")A]=%@WH$;_KF59@& MUV>BCONHXW/6IS.\G65; 9$+@I&N6\/=E",Y[Q,JMPDUF)#8)Z1/)73>Y9M7 M.0NB:_*[WM]6"N!@>@CV'ESO9^+IQ,E.VTZ'?; SG+=MP]M28(G>'>5]W=?M M-8EIF(UH'@>]Z&L241:'-$C8@)?1)$_H*!S*)31C&B63J]D%V3;C)#1I-12H-H[\2RTH#FX2%K%-,D#@]824KS*",? M%PM$03L<;B00!XF&HE7""-!7)SLP,[)X(')M)TN3<$2C*-J;']$PS?=D3O/1 M_I0QFN4QN0=ME"CL$&IGK&V$T21%W4'P"0IGR3/W24;301G3D.9!1.Y N7]1 M4\"%Q>,2_PU'G40YEB,XL&JKNJ.C!(L8/SO^E0;M ,KG;&(!F$V+'X:(3M) MAJPL2&D:Y =2.$ QB[?-/G93<7Z"RT'A+3%DZ8/)LEAUHHGP5%2MO> +)6MB5D *7A5MU:/=KV+<^1A_ X8]@ZZ=[#,( M.XYI X*]X.1G&'?3&'&Q1X67]F5W!3"\C.4D#&F(T,,2&HZR8[/B#U:4&M32 M+6(:?UUM8[IMI>?VN]Y-M^+LQ;M%\0M72X'15;! U> RPY:J;OGJ""/7;N&9 M2X/KD_M&PO=V]R:W-H965TSQ*7WR;\K'!C]N;@G,R5>G;!33GQ B<( M!1;6,7 :7O *A7!$)./7EM/KCW3 _?F._6OKG;S,N<$K)9ZJTJXF7NY!B0O> M"'NO-M]PZV?D^ HE3/L+FRXW2CPH&F-5O063@KJ2WK*;=BG!V>B-?4%JEWQA(N@*# M1SX7:$['OB5RE^(76Z)91Q1]0I3"K9)V9>"+++'\$^^3J%Y9M%,VBPX2?F_D M$.* 011$\0&^N'<:MWSQ/SD=?N2P(T@^)G#/X]RL>8$3C^Z_0?V"WO3D*$R# MBP/RDEY>MWW:?8#Z(^-V5EL3S]E/N>;^CJ6M05%P:.(6-AD+(X2/J,8TA8'M%Z M&,,3O6:J!*RU*M 8R$8)2[.@SXW3,Y:E(7RM9$7WOX2E4J6!LS1@69;V:4D8 MLC3)H/_\,$?J90A<4$/BLD"@$/"U/83+$M3<*($6(2.6!KD;!2% M!$7/.HOC#.^_OO?0: M];+M9P8*U4C;/?I^M6^9EUVG>$_O^NTMU\M*&A"X(&@PS$8>Z*Z'=8%5Z[9O MS)6E+M1.5]3V4;L$VE\H97>!.Z#_(YG^!E!+ P04 " #\@ -7DQ,^YGD# M #Q" &0 'AL+W=OM%0(00N5=0@<'P]P VWK@)#&CQUF,(5TCL?C/?JMSQUS67$#-ZK]4]2V M601E0&I8\Z&U7]3V ^SR\00KU1K_3[:C;9$&I!J,5=W.&1ET0HY/_KBKPY%# M&;W@P'8.S/,> WF6[[CER[E66Z*=-:*Y@4_5>R,Y(9TH]U;CKD _N[S3J*^V M3X3+FKS_,8@>*VXID7@>SK[R50OF[3RT&,G9A]4.]7I$92^@YN2SDK8QY+VL MH?[9/T2&$TVVIWG-3@+^/LASDD24L(@E)_"2*>W$XR7_/NWGLAW!TN?!7-]< MF)Y7L BP,0SH!PB6;U[%>71Y@FHZ44U/H2_OL0_KH06BUJ0_I@U[VL\Q/HWY MYE7)HN22_.H3Y0 OQSNHH%N!)DE,IUVGT?&$39.S0?*A%A;JMR]B?W*YO28Y MQ?<*C:)HVGCM1S&[)#>JZP>+48U:VRW7X.O1<%W[R=XAIJQPO^(?,6(:LYBF M649N!RV%'780:_'HQ@8-\EE&BX(=N61%0K.R()\ WP*-:FLB.A3D 9P&AK \ MIU%Y< C,8I=@*O&BR__IMHA-$T=A8'=HRR.*)Q&9-;\0@UX<8 @OY&X:I MP!B2QP4M\D-)\MR1/!0[1M "JY:4TU)&2Q0J3AFYJJJA&UJ.U32<] M^X\GW3H'QZO&#'B56]O]16 MRN(5Z8<-?I. =@:XOU;*[B@, M )T( 9 >&PO=V]R:W-H965TV@:3=L XH$#3I]IF6SK90B=1(*G;WZW>D;-EI7*_;AT1ZR+N' MSQUU=YYME?YJ-@"6[-I&FGFPL;:["4-3;J 5YEIU('%GI70K+$*]#DVG053> MJ6U"%D59V(I:!HN97WO0BYGJ;5-+>-#$]&TK]+=[:-1V'L3!8>%SO=Y8MQ N M9IU8PR/8+]V#1A2.+%7=@C2UDD3#:A[Z=44%;R^$I=OL\_(P# MVSLPKWLXR*O\(*Q8S+3:$NVLDMD MN3,&K*%$XJ

1*X9*YFH<5#G&E8[@GO!T+V \*,?%+2;@SY1590O?0/4=RH MD!T4WK.+A+_W\IKPB!(6,7Z!CX\1<\_'_U/$YP(=>)+S/*Y:;DPG2I@'6 X& M]#,$BW=OXBRZO: R&54FE]@7CT.1$+4B=@.D5&VG)$AKW$I]#$&X$/"[;(0L MP9R+XO(Y[]X4+.*WY/\^\7; W\X'**%=@B8\IN.NN[)3P$8PZ:7HJ]I"=?5# M[@=A?<0.Q^P6PR:] ?*6.:@3BO,IR$QRVD<%:-'S#B-4T[P*P(MA6.OX!E[6X?L1JWL5FCX7G&1,\KB M(\D!_S3)J(8B 8WS8U)CFA13RC&S3UI4V+"QF1/4G$WS8^)?0DX9G^+?,0V, M3J.$)BPG=V79MWV#^:@.61.^>TZ*(J5)%A]O:U+PA$Z+XHH\*2L:O 1&>J$FTK$FTLLU@1.IZO&CQQ* 78=]W:F4LL?37XAUFQ+SKF&( MQ*I7)6/(!'9ETU=@3A/\RNQL![PL\]]*YK'>D7;HD2"K6JY?U(XOF;CP3[32SM,CW%UG+UWP\@YF@^#^Y/0ZUH:TL *7:/K'-.CAV$X *LZ/X"6 MRN(X\Z\;_/T VAG@_DHI>P#N@/$7R>(?4$L#!!0 ( /R U?# M"D,P, M ,L) 9 >&PO=V]R:W-H965TAB&)LVQ8&9;35'2S%CI@EGJZDEHIAI9YIT* M$291U D+QF70[_JQ"]WOJM(*+O%"@RF+@NGO Q1JU@OB8#%PR2>Y=0-AOSME M$QRBO9Y>:.J%=92,%R@-5Q(TCGO!<7PXV''VWN +QYE9:H-3,E+JQG7.LEX0 M.4(H,+4N J/?+9Z@$"X0T?@VCQG4D,YQN;V(_LYK)RTC9O!$B:\\LWDOV \@ MPS$KA;U4LP\XU[/KXJ5*&/^%V=PV"B MC57%W)D8%%Q6?W8W7X>7."1SA\3S MKH \RU-F6;^KU0RTLZ9HKN&E>F\BQZ7;E*'5-,O)S_:/T[0L2L$L9O#9YJCA M1!6TO;E;]UN$,YFJ J%QQ48"3;,;6@)UKF$Z!QA4 ,D*@ Z<*VES V]EAME# M_Y#(UHR3!>-!LC;@QU)N0SMJ01(E[37QVO4*M'V\]A^MP%/"J[@[3\=UU71H MIBS%7D#1#.I;#/J;&W$G.EK#>J=FO;,N>G](U9F5 D&-@?A-E41I78 M3OI #J\V5&-E8A64DJI9\!_4FU 5&V R@X90QJS8\/7,-C?VDZA]!,_]K^]A M&Y\JL'KNO>=!1;L8.+YE7+@4W*):W!HR$KZ8&F)::FXYFE\@&J5D9<9)9Q,& M3#"9(C +YTRG.;3C*H7@C;>/$[)WN$UP;!PXJT'I\-LR#M348"V0=&0N/"\Q M%9&[970M(") I&'X'177 H#M@ M'BVF2V7/AVDB:88C&BQ5C:W?\W41^KBK5\JQ]4%?6]>/7.H8B6ZB= G?"QG@7,$8(&*NL0. Y/< M-XX"0QA][S&!8TCF. MYP?TGWWL&,N2&[A5S>^BMIM9, E(#2O>-?9>[7Z%?3R>8*4:X[]DU]NF>4"J MSEC5[IV102MD/_+G?1Y&#A/VAD.\=X@][WXAS_)';OE\JM6.:&>-:&[B0_7> M2$Y(MRD+J_&O0#\[7UA5/9(;C*LFMZK%O3;=<_0WGTZCOWTUBEGP@_]?XL-$ KTJ"+,3S:\7!%G<:_$Z_ MJ7 EX#[Q:';X=]Y)WM7"0GUQ5'>KC'6YU/ $L@-R1O*8I@D;C,](0 3,9JS=!"S":/% M:-&8.<24+#BVF\?#T_$1K)!K$N4EQ6(:;)%OG+VP25A.D[QX6:DL:5YDY!Y+ MD>MJX]%JC+916SQ(+4DSFD63P3YE-"JC02P9G<0O:$5)RR0C#\IBG&I/Y0/$NZFU:*R(X,CJB];%[[Y#N.K%/:X[DMGC<7Z<&6V MA+60TLTPLUO00M4$"Y]%C$09%G-2D+B@DTE*KG='Q:,8"Y'F63Y( M>R-X!ET)C"M\0KIH?>[*A5W@F. DNOC>H7(I:]">8/Y6(,8KG!?LQ7[,';#$ M1ZR3GG4:T=*=$9[UL=(+1U=F"WKM'P9(0772]K?GH!W>'M?]E?MBWC]L&KK+^"ELGB=^^D&WT^@G0'^7REE#X);8'B1S?\$ M4$L#!!0 ( /R U?];'ND?@, )$( 9 >&PO=V]R:W-H965TNP D&2;9]IZVP) MD4B-I.SDW^\HV8HS.%X_[8O%._(>/O?&\VRGS9.M !QY;AMEYT'E7'<=AG95 M02OME>Y XY=4RNX,\3V M;2O-RPTT>CP/W1W1F4P@FEK%M0MM:*&%C/@\_1 M]4WJSP\'_JQA9X_6Q'NRU/K)"]_*>< \(6A@Y3R"Q,\6;J%I/!#2^'N/&4Q7 M>L/C]0']E\%W]&4I+=SJYJ^Z=-4\R -2PEKVC;O7NU]A[\] <*4;._R2W7@V M90%9]=;I=F^,#-I:C5_YO(_#D4'^G@'?&_"!]WC1P/*+='(Q,WI'C#^-:'XQ MN#I8([E:^:0\.(.[-=JYQ>^ +EER\2B7#=C+6>@0U&^%JSW S0C WP$0Y+M6 MKK+D9U5"^=8^1#(3(WY@=,// O[6JRL2,THXX_$9O'CR,![PXK,>GG)LM$M. MV_ENN+:=7,$\P'*W8+80+#Y^B 3[=(95,K%*SJ$O'K"[RKX!HM<$.\Q(5ZL- M:3Q7LM+6G>)['O'CAYRS^!/YO[Z/E0%XDWSR4#^_51S.8DYAR.F["I_L8X'_ MP,Y%KV1?U@[*RY.Z6XRCCZ^!+:@>R$\DS2G+A5_$-$\37$21H%'&_8IE-&,Y M^0H*T]$0J4HB2VRYVCJ?GBV0@E/.Q'17FM L8I,8Y3$5V>MVQ J:<$8>)';6 M (?/WA,,B8XI3Z/I9$Q9E$R2H"F+CB3&U.[E5#:HGS5_Q7"?MZ;<=Z!57Z*[_ "MHE M&!)'XP/D718%%6GFQ00+)Z4%5@X**4FBE/)B$ 1),-UI(;R03<)C!3@JUPX1 MTR*A22+V\1]]Z^2+SZ(EG(HXP73$Y%O;]5B]I%9H!%C %W$N:)Z)2W+GGR', M^58V_1"V?P7(>F5VZ<&)-VFK>?QS'S>GP< MUM^EV=3*(H,UFK*K#!-AQ@$X"DYWP]!9:H@VT#D&"DS1)ED10)G&9A[V-+G,U6,XD;#0R@Q!4 M/Z^!JV.!Y_BTL65M9_T&*?.>MK #^Z/?:&>1B5(S =(P)9&&IL"W\]5ZX?V# MPT\&1W.V1KZ2O5*/WOA:%SCQ@H!#93V!NM?K$_US MJ-W5LJ<&[A3_Q6K;%?@#1C4T=.!VJXY?8*SGQO,JQ4UXHF/TS5*,JL%8)<9@ MIT P&=_T:;R'LX#TI8!T#$B#[I@HJ+RGEI:Y5D>DO;>C^44H-40[<4SZC[*S MVITR%V?+-37,(-6@C08#TM)P5V_NP5+&S=N<6)?$NY)J!*XC,'T!N$0/2MK. MH$^RAOK?>.+$30K3D\)U>A7X;9 SE"7O4)JD&3+0NI:P5[C95'D6N-G_5'ZI MWHA97,;XH5F9GE90X-Z#] %P^?K5?)E\O")R,8E<7*.7WP>Q!^U5;J%7VM(] M![2+=V NB8VXFX#S WDHYSDYG"L@9\TB0+=A) RJU"!M[)MI=YJZV]AL?]WC MR#Y0W3)I$(?&A2:S]RZOCF,0#:OZT'I[95TCAV7G_AR@O8,[;Y2R)\,GF/Y% MY1]02P,$% @ _( #5^O++^%Q P VP\ !D !X;"]W;W)K&ULK5?;;N,V$/T50BV*7:"-*.J>V@(VEHNFZ )!TK3/M#V6 MA95(EZ+MW;\O22F*I2A&MN&+35+GG.',D"/-[,3%EV8'(-'7NF+-W-E)N;]V MW6:]@YHV5WP/3#W9!FLSTMX 'DX_Y.J)G;JVS*&EA3_5-NY&[N) [:P)8>*GG/3[]#YU"H]=:\ M:LPO.K78.'30^M!(7G=DM8.Z9.T__=H%XHS@O48@'8&,"<$K!+\C^&^U$'2$ MX*T6PHY@7'=;WTW@EHJGLSNX0CL M .@>UKQ@I4G>+^B6M4=0SU;?4 &\$'2_*Y4B%'KQ0PZ2EE7S48$?'W+TX<>/ M,U>J_6A5=]W9OFEMDU=L^^@S9W+7H"7;P&:"GU_F1Q?XKHI#'PSR%(P;>NFSU=P]Q1A:P!<00G^^D'+\*_3@78IEAN4VQI26R0 MBJ!/17!)/?N+2UJIJV>NZE0.6GIDZ/K5<,R\R/.QGT8S]W@>WPD@B8D71ND0 MF+\$^LJ9,$CP$+A\"20A]@F)GQ4'/H>]S^%%GQ]5,8(->I!43I^[B_3O/7%*7>J 2\!)(@)0D.QR5@ HCC-%)58+H$)+W/R46?;YD$PN%-K.>ZY4]PU" ]3S+>?R::(-]/U\]A]02P,$% M @ _( #5X?)2N2U! P!< !D !X;"]W;W)K&ULK5C;;N,V$/T50BV*76 ;B:2NJ6T@B;QH"@0(DN[VF;%I65A)5$G:3OKU M)25%MBX6XI8OMBC-G.&<(8?#F1T8_R&VE$KPFF>%F%M;*,YD6K($UN4G))UI91G-G(SM*"/'(A=GA/^ M=DLS=IA;T'I_\90F6ZE?V(M921+Z3.6W\I&KD=VBK-.<%B)E!>!T,[=NX/42 M^EJADOB>TH,X>0;:E1?&?NC!_7IN.7I&-*,KJ2&(^MO3.YIE&DG-X^\&U&IM M:L73YW?TKY7SRID7(N@=R_Y*UW([MT(+K.F&[#+YQ Z_T\8A3^.M6":J7W"H M97UD@=5.2)8WRFH&>5K4_^2U(>)$0>&,*Z!& ?45W#,*N%' '[7@-@KN1RUX MC4+ENEW[7A$7$TD6,\X.@&MIA:8?*O8K;<576NB%\BRY^IHJ/;EXHGM:["AX MHBN6%&D5O%_!?5$O03UZ>0/RK:3@4TPE23/Q67W_]AR#3S]_GME234$#V:O& MW&UM#ITQA\$#*^16@&6QINL1_7A:WY_0MY7KK?_HW?];- GXQZZX MCY I"# M\,A\[CZNCL;<^7_6E__9>H<,W"X&7.'A,WAQ*DB2<)K4D6<;T"R/L4#74.XX ME,YOUZ(D*SJW5 (3E.^IM?CE)^@[OXVQ;!(L-@FV- 36B8?;QL.=0E_\R23) M0$SWZ8H*E9;/QJ*&\2L8?33L%] )L>L&_LS>G_(\% R#P/6QUY6+AW((8C_P MH[ KN!RQ'" /8G1$[+CNM:Y[DZZKI5@R05XR*KX S:NB )!B#9C<4C[&08WG MG7[O9+L;$<2AAQW8RRGQB"!4US2(0]S+%2.2 <1NY)TY+.%) M%0\OR1;Z7QT,8)]J5D2:% +D3)7WC*=%TN2.T6-CVLZEJ]4H6FP4;6D*K1LQ M=(P8,I="&BQ343&)%AM%6YI"ZT;E> &"D_7\!6D$#\L^B%1--$@C>% ANQ%2 MY4F_XAA!5$4\\CSL]]/($!(Z$/KXI![K^G^\<,#I&\=7RCD##R0IJ$Q7B@C9 M-'2>)U+&).3%B],D6FP4;6D*K1N@93QN3]ZN*HF$2+C:(M3:%UHW*\ MI\'IB]K'4X8_W+8AAE'_2C9M[V*NAU;5)28(HGY2,62U9M$^Z4CFE"=5*UBH M$F57R+H?U;YMV\TW59.U]_X67M_!D?>Q;D]7'= C?-W;?B \256]D]&-,N5< M!6IY\+I=7 \D*ZM^Z N3DN75XY:2->5:0'W?,";?!]I V[1?_ M02P,$% M @ _( #5ZDU/Y38 P W X !D !X;"]W;W)K&ULK5=M;]LV$/XKA%8,+=!$K]9+9AM([ [K@ )!TFZ?:>EL"95(CZ3MY-_O M*"F*+#-J$OB++5)WS]WSD#P=IP\BTP M?+/FHJ(*AV)CRZT FM5.56E[CA/:%2V8-9_6<[=B/N4[518,;@61NZJBXO$& M2GZ86:[U-'%7;'*E)^SY=$LW< _JQ_96X,CN4+*B B8+SHB ]RDM9_Y)#8QOZ%DEW M4O&J=<8,JH(U__2A%:+G@#AF!Z]U\(8.P0L.?NO@O]8A:!V"6IF&2JW#DBHZ MGPI^($);(YI^J,6LO9%^P?2ZWRN!;POT4_,[V /; ;F#E&]84:_%!5EPI@0N M"2D+NBI*G 9)/BY!T:*4G]#@Q_V2?/SP:6HKS$$CV6D;[Z:)Y[T0+R3?$#N7 MY O+(#OVMS'WCH#W1.#&&P7\>\]\)I[C^89\%J]W]PSNRW'W):3H[IK< MC]CXW7+X-9[_(MX:A(",M.MB$KA!",P(NDYM'=)/;] >'16&\E; @9A$EHYAMV?,-1OE\>%.CZ00Y4(%OU2.A& -02 MF'B')TD$?CAQG6C ?#3J6YF?!O5C/\+OL9E[U'&/1KE_YXJ6)I+1*J20U?&9,S.)S5KQS M@BW/!'8D9-()F8QN!--'^C-9P:9@K& ;;(=*71%-@B:&K7*\M(U6!CO<3X$_ ML%N.)OI.&5SGN85Q1H7XRE)L>27NJ0P[&<5)2F6.36D*V%)FK_@0M/A]GEX0 M!KX_K \&0S<)DSAP!X*,9_Q>17I-G3NJ"+8EQXJ(7GO'USA\L;MHD?L4+[P@ MG@1>,!3#9.G%<93$0S5&LWVO&MZS&MX[#@I^0'YQ2EK8\)<5U6!H+JGCB;Y5 M"+O7]N/6WM37)XE5=<=4TT!WL]T5[;J^F SF;]RK17/1>H9I[GW?J,!R(DD) M:X1T+B-<;=%I[9][&P( P% 9 >&PO=V]R:W-H965TI1EP &/550D7U2-8@ M[,E.JHH:ZZH]T;4"6GA0Q4D4!!-2429PEOB]EJ6L1P:6@E4@-),"*=BE^&LX7\0NW@?\9-#J M$QLY)5LI'YWSHTAQX!("#KEQ#-0N!U@ YX[(IO&[Y\3#E0YX:A_9OWGM5LN6 M:EA(_HL5IDSQ9XP*V-&&F[5LOT.OY\;QY9)K_T5M%SN9890WVLBJ!]L,*B:Z ME3[U=3@!A.,+@*@'1&\%Q#W 5XYTF7E92VIHEBC9(N6B+9LS?&T\VJIAPKWB MQBA[RBS.9&LX@&@ K2&7>\%\:3^A!:V9H9S]@0+E4AAEJVT-;32Z6H*AC.MK M&_:P6:*K]]<),383QT?R_M;;[M;HPJUWC1BA./B(HB"*S\ 7K\.7D%MXZ.'1 M2SBQ^HN-!;_P:>W;Y><_)[K@FGLL-A4,6SF;3Z20AAU-!_X;%XR 8CX>P+E5R M\J^Z.7%/U9X)C3CL+# 836\P4EWO=8Z1M?]]M]+89O!F:<<5*!=@SW=2FJ/C M.F(8@-E?4$L#!!0 ( /R U=3+?^"^00 (<; 9 >&PO=V]R:W-H M965T[^_6P@) ''2S9_:8$\YQS;Y_'[>$>K=[8FA(,?15ZRB;7F M?'-GVRQ9DR)FMW1#2O'+DE9%S,5KM;+9IB)Q6H.*W$:.@^TBSDIK.JZ_/5?3 M,=WR/"O)CC?QBKP2_FWS7(DWNV-) MLX*4+*,EJ,AR8MW#NP7T)*".^#,C.W;T#&15WBA]ER]?THGER!*1G"1<4L3B MWP=Y)'DNF40Y_FI)K4Y3 H^?]^Q177E1F;>8D4>:?\]2OIY8H052LHRW.7^A MN]])6R%?\B4T9_5?L&MB_9$%DBWCM&C!H@1%5C;_XQ]M0QP!!(\:@%H Z@.\ M,P"W!;B7 KP6X%T*\%N ?VD=< O ERH$+2"HS6I:M[9F%O-X.J[H#E0R6K#) MA]K?&BTG#S'+$A"7*4BS?,M)"DJ1_UF9T(* #1%)NXXK M C[-"(^SG'T&-^#;ZPQ\^OGSV.9"7[+82:OUT&BA,UHN>*(E7S,P+U.2*O"1 M'H\U>%O4NZL\VE?^ 6D)_]B6M\!U?@7(0:ZB/(]Z^%-<"3@\"Y]=KHX4\/GE MZBIX]/_JOOC/A3^QPNWRT*WYW'_-PUF;AU]%'GYI\O!9Y.&KS$-5SC6\GII7 MCN1W;!,G9&*)H9J1ZH-8TU]^@MCY366X2;*92;*Y2;+()-G"$-E)VGA=VG@Z M]NG7;K!2I4:#Q356SLD?4P\&H]!SQO;'L>O#.-=SL!/TXF:*..1!QT>G=WC>=K&^][/4^3]";^()58 M=S1C/0-BQ<*XZ(I9N1+#?=TS5:W;D/M'I8+('V''[37'H[84UW8JI2IV0M@W MP:1JI*ZKYWNP9Y4RT,>A&ZB]PIU76#L^SI=+L7@#=-G,TV+Y!AA)ME7&,\+N M5/9@D^.B2;*92;*Y2;+()-G"$-E)N@1=N@3:KOW*:?(.Z$8N]YDJ.X)AGHY< MMS= /6I%KK5=)0EQV.NV)B4CA608CGJU7 RC$ I"3]UAP\Z!4.O "V&\RA*Y MDF&U&=LRXTHKPH$\'L'^%2:,!@5R0W^P@-#J7VN.2;*Y2;)(T1AB M;O-Z'AJ2/+$:.H?]K&-@4;/?9'S*RC9 O9]U%--Y@%P'!KT,T)?JVA10ZF(7 M!7Z_CQK5C=3U=;!87_5,5I?0@QXZ,V["HQ,)J'6PV0JJCR&$72G-\[ABAZ]J MYQJ-\*A\SNU@?M.7Y&K75)H(]QTSJ1DI-7'?+%60=V;W -'!**0U:J8],;K< M*G215=JR7&V52G-HE4G-2*DYL$H5Y/EGK#J MIAAEFQEEFQMEBXRR+4RQG>;*X4@%ZL]4%+FRWTG4!W27+Y[T0E>GDTFV6H;'082NBUY<_+:?>UN MC>[KNY+>]P=X-X>*[Y&\9:JO&0[TS1754URM,I$/.5D**>&ULK59A3]LP M%/PK5C9-($&3.(D36!L)6DUCTB0$8WQVD]?6PK$SVVWAW\].2E2:4*%I7UJ_ MY.Y\Y_K9'6^E>M(K (.>*R[TQ%L94U_ZOBY64%$]DC4(^V8A546-+=72U[4" M6C:DBOLX"(A?42:\?-P\NU7Y6*X-9P)N%=+KJJ+JY1JXW$Z\T'M]<,>6*^,> M^/FXIDNX!_-0WRI;^9U*R2H0FDF!%"PFWE5X.V/DDLRE?'+% M33GQ F<(.!3&*5#[M8$I<.Z$K(T_.TVOF](1]\>OZM^:[#;+G&J82O[(2K.: M>)F'2EC0-3=WGZ!P]W,_0R>?3L6_L/ [M%SO-ZU83OZ/Y8RU& M* K.$ YP-$"?'J?/H+#TL*'CMW3?INLBXBXB;O2B#T4<#>5I!>)A ==(E[JF M!4P\VRD:U :\_,NGD 1?A]+])[$W6:,N:W1,/;^C6[L[#"A&N1Y*VM))0W<= MOLG3,"!1$(_]S7Z(/B[.8 MQ"0-#@SV81&Y2$DX["_I_"5'_7UC@MEF*M%2RG+07M*;]X($:4H.[/5A<1B2 M.!VV1SI[Y*B];BNC.=@3'!#E]ABFH@!D2P3/;E$1%262L@R' M:7*XQ'U<0H(LP>^L<=J%2(^&N/H7SVG/RWD M36UA9-V<[G-I[%W1#%?V-@?E /;]0DKS6K@+H_M_D/\%4$L#!!0 ( /R M U=*'M7TF@4 +HL 9 >&PO=V]R:W-H965TS,,=!8)+:A 8)FW3ZK,AT+E427HN-TOW[4)9)E M,X3:7STL?4,1<'(;^66\X5>LZSHKR9;)7:74^G9;+E>5R^%SM> MZ'38GC!-,\3HO)MJ@Y,EXM=_,@?N/J\NY=Z;]I1UFG.BS(5!9)\J0L3ZY8FO>)95)'T= MWUKHI-.L H^W7^BLOGE],U_BDJ]$]F^Z5MN;R6R"UGP3[S/U21S^X.T-U1>8 MB*RL_Z-#0-H"I%)]1W&Q1O3;/MWI8:/>H4(/ZC<15W&:E6_1%?K\$*$WO[Y= M3)46K4*G22MPVPB05P1<="<*M2T1+=9\;8B/[/&!)7ZJ;[:[8_)RQ[?$"OQK M7[Q'KO,.$8>XANM9C0\GIMOY.77Z<^K,'A[Q1(=C4_@@EVXW>MR:YXX9/7PP M>DPCI8%Y9EA50Z_+79SPFXDNDB673WRR_.T7'#B_FVR"A$60, H)8T"P@;U> M9Z]GH[]J[Z,496DRN,$%-:[Z3GM:8N*%CN/.%M.G8_.LNI>:-U:50JJR7<.6&WCP, M_)-T6R4O3?=850JIRDRJGNNXKF/.=]#E.[#F^V^AXLR4W.!,PR&UHS&QV-WKJ"Q+F0*OVO.<"?]>2XY$AL MT,Y89DR>A&=7B@.""3ZQ)#PO"!X)L3,\+3JGN7CNN:?#^)Q&PM"?G8@R:S)^ ML%#/NE3/K*G^J#-GRI\4E*L5&'6+):YNVL5Q7.T9[K,!+/X*@M B41D%I#(HV-)KT1A/(.MO2 MH%R&I$6@- I*8U"THY[ M%-@'K9^0G8 5*"T"I5%0&H.B#5WN.R/8WAJYO'Z>=Q)P,/?#D)S63]"FR5A9 M"BK+3+)^Z/JS\)7ZV3=.L+US\I'')=^*;(W2?"?%$Z_R;LXX4->AM062%H'2 M*"B-0=&&!O?M&CP#K9^@?1Q06@1*HZ T!D4;NMPW<["UF? #]7-^WHD- F=V M5CY!>S4C52FH*C.I^G/L!>;B2?H6"[&W6.[B9*L/R1'M9#OITL\5*"T"I5%0 M&H.B#1WNVS0$0U9/ MJC :5%H#0*2F-0M*'+?8^&6+L#EU?/EC>H*![6)>7T MZ=TN?+&%(V4IJ"PSR1+LX*/?I8:)[]LFQ-XV8>DS7Z.X++DJ45IB*#E!:!$JCH#0&11LZW/=GB =:0$&;-*"T")1&06D,BC9TN6_2$/M*DLL+ MJ'_V2W> PS X_:G)KGNQ@^-4*:@J,ZD&?GBTT*+)^O1H:67.Y6.]"+9$B=@7 MJEDGUQWM%MI^J)>7GAR_Q=X6O:+*/M\W/%YS69V@W]\(H5YV*H%NN?+R?U!+ P04 M" #\@ -7&T!?C"H" "Y! &0 'AL+W=O. M>[$IK'.P)*KY!E9@'^JE1HOU+)DHH3)"541#'M/KX6P^=O$^X+> QARJ^8.NGHFCB]5TOA_TK2QDRM*TJVQJNS J* 45?ODSUT? M#@#A^!U V %"K[M-Y%4NN.5)I%5#M(M&-G?PI7HTBA.5>RDKJ_%6(,XF2XWO M5]L7PJN,?'O:BAH[;B])A?/PB?QPWNL4W4;X)IXOP'(AS47$+&9W'"SM,LW; M3.$[F6YA/2!!>$G"(!R1A]6"G)]=$/XO$4/Y?0UA7T/HF4?_7\,QF2W9^#B9 M6X*9J7D*,<4I-Z!W0)./'X;3X.L)J:->ZN@4>[+WPR]R]EN23U7D&M1>IUV,(970M?R=DQ/2WS M]$#/%-<>?V\DL8-)=$O]D^N-J R1D",R&%Q-*-'MHK2&5;4?SK6R..K^6."W M!;0+P/M<*;LWW+SW7ZOD+U!+ P04 " #\@ -7CVD)0ZX" !&"@ &0 M 'AL+W=O2R'-> =,[&RY*HO149+:L!)"T!I6%C1UG8I>$,BN> MU6LK$<_X5A64P4H@N2U+(IXNH>#[N>5:SPLW-,N56;#C644R6(.ZK59"S^R. M):4E,$DY0P(V<^N[>[&(C'UM\)?"7AZ,D5%RQ_F]F5RG<\LQ#D$!B3(,1+]V ML("B,$3:C8>6T^J.-,##\3/[5:U=:[DC$A:\^$=3E<^MT$(I;,BV4#=\_Q-: M/8'A2W@AZR?:-[83;9QLI>)E"]8>E)0U;_+8QN$ X/IO ' +P.\%>"W JX4V MGM6RED21>";X'@ECK=G,H(Y-C=9J*#-97"NA=ZG&J7@E=$$(]80(2]&/ARVM M=(K4&6*Z@+ZB#'@F2)533069"?O)$A2AA3S5N[?K)3KY?#JSE7;$T-E)>^AE MHN9$42F%OZLY(@=F#%7SZY$^?;D-*1R'JZO4ZW=XP]_L,5*5#U M,?4-Y:2F-+^(71Q.=1ZF.H^[0V&O[; 71:&+.[N>SW[GLW_4YUM&%:1HK8@" M.>3?4?A'LS,264]IT"D-QJS*8$S=(Y'U=$\ZW9/QJ[*A# ZK,L!AB-T75?G: M#F,_])QPN"JGG<_3HSY?,P6"$7,QD6+(OZ/PCV9G)+*>TK!3&HY9E>&8NDU1?_'5>ZC:B'N6[T0!@#O;_A7#U/3"_1M8[Q?U!+ P04 M" #\@ -7D#X"&&\& !*-P &0 'AL+W=O5XX+SG8)V9VR/+OQ99S8;PF<5K<3;9"[&ZGTV*YY4E8 M?,QV/)7OK+,\"87VV4I_*<9=_+C4^KNXE9'A&/^5*4B%#^>^$+ M'LT$MN[B3\9187U5_C4'_6(A-CN2]$EAR#Y1$D45K_#U^/B3@+D!QU #X&X,L MZXT <@P@0Q6L8X U5,$^!MA# YQC@%/EODY6E>D@%.%\EF<'(R\_+6GEB\JN M*EHF.$K+*^M)Y/+=2,:)^:=4A.DF>HZY<5\47!0?C%1>S^\"+L(H+MX;-\:W MI\!X]^O[V51(O3)JNCRR'VHV?H--C,]9*K:%0=,57RGB WV\HXF?RO-L3A:? M3O8!:X%_[M./!C$_&-C$1'$\B^'A6'4Z/Z=.?TZ=Z<,#OI3A2!7>R25I+AQ2 M\R;EH7=1K23;+M)MJU-]OURN4_V<2CXR@B3+!?1OV%YRU4ENR;99X=PXWFV MY:"+9&L5QR9[H"B%%&4J46+YGJ=.MM,DV]$F^VLFPEB56:>GAXE-7)=<9%:+ M'YO9@:(44I0I1$W'MXBOSJS;9-;57\9GEZ[!7^6XM^!&MC:BMI:$52U19=_M M'Y.-B7.1>[?_!;2)?Y&LH,^R3:N7TC[+-AW+[WZ*:4_Y?Q9AKTFHI[V]4IG# M9544TG0?QIW:<$JP*I<>Y,T6$A9 PB@DC '!.C[[C<^^]HOS%+T:23W*Y>4H MUY#C-)X\\_PT5E.-%!_\(5?Y0JL\UKY!DA12D@'!.KX@LYT8F5IG9.XMY9S' M[&4"F:9M70YY]/BQZ1^H2D%5&12M:\'9W!1=L\!66H!ZR?!=XO8 H#<"]7'BV8WN7!FCIHPT8)$I!11D4K6M .\E&VIE> M:8"K-(#TRP'R+?O2 -#I\C!1"BK*H&A= ]JY,-)/AJ4!GM( JU\-B'5Y!];# M1^=_B"8%U610M&[ZV]DQTD^/'^7$.!6%<2-G$L9>/>35(\:.>4%I 2B-@M(8 M%*UK;3L71PY0 Q%!SH 7H+0 E$9!:0R*UC6X;0D@?4]@3!\1]>?M!".O/Z0# MFI,?S1NF2D%5V5NJ1-V"06W+ &EGJF?%MRV"Y /534AY^(+4%H 2J.@- 9%Z_Y"V;8=L+[M,*9JXGY3P#61 M=FUTDN. M-F^8*@5594I5@NPWQIBX[8?@JXL#>)Z&Y?!RQ5]XG.WXRBBRM3B$.==.T_7@ MT=\PT,X**(V"TA@4K6MXVX'!-E0)!>W#@-("4!H%I3$H6M?@M@^#]8LB1I70 M_O(!S\5R\GI90D%[+ -5*:@JNZ[:37C;%\%7^R+72JAN) K9BUB T@)0&@6E M,2A:U_2V-X/UZSE&E%'0Q@PH+0"E45 :@Z)U#6X;,UB_D&-4&>TOID >-E%O M!8=><[1[ V4IJ"Q3R5J>3\IER*I*2MI>"='W2K[FX8HG8?Y=F65]\.B%QZ!- M%% :!:4Q*%K7U+8E0Q!0I22@31E06@!*HZ T!D7K&MPV98A^4)H[P:)4E!1=E6TSO;T[%&?A.>;ZJ&LPEAF^U34#V\T>YL'O^ZK MQYTN]C^@VP52[ _0+:T?ZVKQ]5-FG\-\$Z6%$?.UE#(_NK*BY_6#6_6&R';5 M@T;/F1!94KW<&ULK55M;YLP M$/XK)S9-J=04 @U]&4%JTKUT6K6J5;?/#ES FK$SVR3=?OUL0VC2TFR:]@7\ MGGN^RHKL2+J2"R1FYV%D!719BH+7RTE MDMR!*N:'01#[%:'<2Q.W=B/31-2:48XW$E1=543^G"(3ZXDW\C8+M[0HM5WP MTV1)"KQ#?;^\D6;F=RPYK9 K*CA(7$R\B]'Y++;VSN KQ;7:&H.-9"[$=SNY MRB=>8 4APTQ;!F)^*YPA8Y;(R/C1:ZW+B MG7J0XX+43-^*]4=LXQE;ODPPY;ZP;FT##[)::5&U8*.@HKSYDX J 5$+M!&F0OKDFB2)E*L05IKPV8'+C<.;:*AW%;Q3DNS2PU.IQ=9 M5E0]^MA\?[\'[)NXN^' 3_#3<2_BIYD<0!8<0 M!F'8I^>?X3MRHJX6D>.+7N"SF1<NF;5Z,X>-N7 MJO]$MI.XXRYQQ_O8TREAA&<(1(/)%,RQH)Q37O0%W3#%CLFVN%4:C\*3Q%]M M!_/<:'02C,+.:D?EN%,YWJMR\,%4Y0 ^FX* ;6 KG MC7*K%I!(FW35)SM^EM!A'(S/G@C_DU6CV]_J=A7*PCT"RER/FNNF\76KW3MS MX=JK_VC>/%+71!;VIC!<&&AP=&*2)IO&WTRT6+K>.1?:=&(W+,U;B=(:F/V% M$'HSL0ZZUS?]#5!+ P04 " #\@ -7TS@#FR8$ !K& &0 'AL+W=O M#[JL+LWSM2TN/,0<[+P$.QV0HUX,ZG.[PA2R*^[>Z9 M/',[2EY4I.8%K0$CZYGS&=UF*%().N*O@ASYV3%0I3Q2^J1.?L]G#E171$JR M$@J!Y<>!+$A9*I*\CG]:J-/-J1+/CU_H7W3QLIA'S,F"EG\7N=C.G(D#"7!;Q/\M\X0M G!6V<(VP1=NMO4KAN78H'G4T:/@*EH25,'NOLZ6_:K MJ-6-LA1,?EO(/#%?"KIZ^G0G6YV#!:WD_<>Q5O!#2@0N2OX1? +?EBGX\./' MJ2ODC"K/7;7TNX;NO4+WP5=:BRT'69V3W)"?CN='(_FNK+0KUWLI]\X;!?ZQ MKV^ #W\&'O1\P_4LWI[NF$5FCK0K3MB!./.??D 1_,749)NPU"8LLP3KR1%T<@1C]/F?5. 2<"W*HQ9E M=?Y DF=U3$SB--Q(<]4OPV$>1I,@#*;NX;SMEV'(0Q#Z_;#4$(:@!Y.X'Y<9 M9HT#/SKA>ET(NRZ$HUU84"X 7/:01E[@PX$S7$;%21@.?.$R"'D! MB@?VD5V&36(_3LRN,.D:,!EMP*^D)DRV -T?: MA*4V89DE6$^0I!,DL680B4TY;,)2F[#,$JPG!X*G]WCXG2RB!9\_L5Z"_" : MF(0A#L$(#MXR4D-8.('QT',RT[0R+ [,3H'.5C1HM!-+7!*NG4(N?9^(*.J- ML>Q1RK6WI55::I66V:+U]?!.>GC6K*)%V1+%)BVU2LMLT?JBG)9^:'0I\QZ[ M\"]M($KDA0WMXC(N\KQPN-HPA/DP\J/A:L,T;9)$KCI+N*E(+8^VCJ*MO3YNTU"HMLT7KBW):!*+0GF=870]:I:56:9DM M6E^4TYH0C:YQWN,9T<5>01"&:#*T#$,81 D:6L9E6 (GWH5C7(;%2>(/#<,] MVSRM"-OH76LN2]O7HME+ZT:[G?'/>C]X,'Z';A?(,)ZJG72]67O"-]OP7S'; M%#4')5G+J>!-+/5ES&ULO5CA3^LV$/]7K&R:>-(@L=.D+6LK4=BT37IZ",3>9Y-< M6XO$SFRWA?WULYTT":/UZV#=%VK'OO/OSG>_\S'9"OFD5@ :/9<%5]-@I75U M&88J6T%)U86H@)N5A9 EU68JEZ&J)-#<"95%2*(H#4O*>#";N&^WR/=]I_<<8;8QZI@FM1?&6Y7DV#48!R6-!UH>_$]E=H#$JLODP4 MROU%VV9O%*!LK;0H&V&#H&2\_J7/C2-Z B0Y($ : >>(L#[(H;RAFLXF4FR1 MM+N--CMPICII XYQ>ROW6II59N3T[%Z+[.E\;NS*T;4HS64KZMQUCMP2^E+9 MJ4*4Y^@.E)8LTV9OO?C F5;HRGJ6Z1=T=@.:LD)],M(/]S?H[/M/DU ;E/:L M,&L0S6M$Y "B%'T67*\4^IGGD+^6#XUUK8ED9^*<>!7^ON87*(Y^1"0BL4=? MW+HL=OH&/I?M_++//J^X3;-+5=$,IH')(P5R \'LA^]P&OWD 3=HP0V<]OB] MX 8G )>TX!*OY[ZLM=(FD!A?HD=8,L[M2"Q0!9*)')TQCM2*FH/WQDVM/''* M+=ML9F00X6@2;O9@2EM,J1?3U9;*7"%X!IDQDP7AQ@0Y?!-+^@;+.8ZB UB& M+9;AT?X!DV]'>V;XUC/Q0<^,6C0C+YK]V;[O>*^>=\;4N$4Y_EC CT\ #D<= MO4:G#/E&>_]F<8+C>+C_:G&/]O$Q8;^4E!\1[8VR/HPX3=(#($@'@IPB]QJM MKY,OCB)\ $]'[-C/[ V>C/+,/!OR$)E7SP+8,9#BMY"&!_(/=UR.O6S\?CYH M]+X*FP$>$W( 44?@V,_@7]TK!_)SN@%I7FT[/ ;9FDO(Q)*SOXR[LOY3(A-* MFTNNP'&)%B814+=W+WX_"H)>@$J%$E363P6^E2"7KDDU M94BLN:X[N?9KVPA?U>U?M[WNHC]3:>)6H0(61C2Z&)K+EW5C6D^TJ%PS^"BT M:2W=<&6:>9!V@UE?"*%W$WM ^^^!V=]02P,$% @ _( #5Y^3:%*Y @ MJ@@ !D !X;"]W;W)K&ULK59M;YLP$/XK%INF M5MH"F)>F68+4O$SKI$I1NVZ?73@"*MC,=E[V[V<;PA)*HVCKE^"7>YZ[YX[< M,=XR_BPR (EV94'%Q,JDK$:V+>(,2B(&K *J;E+&2R+5EJ]L47$@B0&5A8T= M)[1+DE,K&INS)8_&;"V+G,*2([$N2\)_3Z%@VXGE6ON#^WR527U@1^.*K. ! MY&.UY&IGMRQ)7@(5.:.(0SJQ;MS1(M#VQN!'#EMQL$9:R1-CSWISFTPL1P<$ M!<12,Q#UV, ,BD(3J3!^-9Q6ZU(##]=[]B]&N]+R1 3,6/$S3V0VL8862B E MZT+>L^U7:/28 &-6"/.+MK6MYUDH7@O)R@:L(BAS6C_)KLG# 4#Q] -P \!= M@/\*P&L WKD>_ ;@G^LA: !&NEUK-XF;$TFB,6=;Q+6U8M,+DWV#5OG*J7Y/ M'B17M[G"R>B6QJP$])WL0*"+.4B2%^(2?4*/#W-T\?YR;$OE1=O:<<,XK1GQ M*XP>NF-49@(M: ))#WY^&A^>P-M*72L1[R5.\4G";VLZ0)[S$6$'>SWQS,Z' MXSXY_^=]\<_>CY+AM?7V#)]W1KW[:ENC_7ZT;EHC49$8)I;J2@+X!JSHPSLW M=#[W)?8MR>9O2;9X([*C$OAM"?Q3[-&2LTUN^JQJ\RBO"R+)#L%.=7\!?66I M&4/#J%O_)G)==Q@,U2NQ.]QF%K M=Y2!H,U <#(#BS0%,R 0)Q+0!1&(H IX#%3V=IR:SG4. G$&V.V$.^LWPT%' M_2ML?D=\OYESW=%N'S3?$OC*3#V!8K:FLOY?MJ?M8+TQ\Z1S/G5',[?G?*X& M<3TW_]+74_R.\%5.!2H@5:Z3L=Y(5IG6_\2D&B1FF:F/">#:0-VG MC,G]1CMH/T^B/U!+ P04 " #\@ -7>?I1+V,& /.0 &0 'AL+W=O MB0=?/M$S;0G7Q1#IN@/[X49=(EJO0=G#V);%DO@]?BD&IMG# MA$;I8#8MSWW,9]-L)^(H91]SPG=)0O/G>Q9G^[N!/G@Y\2E:;T1Q8CB;;NF: M/3+Q>?LQET?#AK*,$I;R*$M)SE9W@_?Z;6"814!9XI^([?G!9U(T99%E7XN# M/Y9W ZW(B,4L% 6"RG]/;,[BN"#)//ZMH8.FSB+P\/,+W2L;+QNSH)S-L_A+ MM!2;N\%D0)9L17>Q^)3M U8WR"IX81;S\B_95V5M8YP:,ZH#1<8#Q2H!5!UCGUF#7 ?:Y-8SK@/&Y M 9,Z8%+V;M4=95\Z5-#9-,_V)"]*2UKQH11$&2V[,$H+[3Z*7'X;R3@Q>V"R MXSEYYS!!HYC_.AT*22V^&X8UX;XB&*\0=/(A2\6&$S==LF5/O*..-T_%>^IX M^U1\<")_0P$8RLO97%/CY9K>&TJBQQ;7Q)A<$4,S3/+YT2'O?OZ51((E/=G- MU:P_:7I-3+U@Z:-3+.<$:U>PM//R%+U?\-4Q' M%69SIYDEUU3>:7WW5Q4WZH\K)J];OJ4ANQO(V8FS_(D-9K_\I-O:[WUR0L(< M),Q%PCPDS$?" A"LH[%1H[&1BC[[:YB$$Q;*7"X5!1+F(F$>$N8C80$(UI&:W4C-5DKM@7'.V-6QLJX(^Q9QP:3R"AG* M>J/E3HYA3S3>,;+>T9Q*Y;$^P2GKNW3 0L(<),Q%PCQU'ZUHS/LNM8_,(0#! M.BH<-RH<*UOX)2K&,?*XS:4"^17QXBR/EI1X-(SB2#SWZ4Q)O%1G2)B#A+E( MF(>$^4A8 ()UU#=IU#=YX_/ !*DQ),Q!PEPDS$/"?"0L ,$Z&KMI-':C'.%* M8R-^+MT].9VFHD]N%<(^7.)JFF4=K=>4%5VJ(R3,1<(\),Q'P@(0K*,C76MM M0DVII+^[*S6RI5&?UW:OQEPZ>$%I3DT[5+JIZ?:1TMV>8EJWB-=3Q#)NQDW*-(F@NE>5": M#Z4%*%I7=4:K.D.IC\<=CZ[(P\.\5UO*V(M'$"3-@=)<*,V#TGPH+4#1NGIK MG7?]K=:[#O7>H30'2G.A- ]*\Z&T $7KBJVUX'6U!W_V2@GJL4-I#I3F0FE> M33M<5!F699L_++YZRIEC39LVZ-W,A^4[>8DBI\1?+"&K+ M0VDNE.9!:3Z4%J!H74FVYKQNOW6ZA-KL4)H#I;E0F@>E^5!:@*)UQ=9Z\+K: MA#_+HE(S+M;=^$&/6IOQZX06N];5YO? MGUC*]C0N3:SBY^1*#@NVCM*TD$>4%B_5W?1J ^G,4:_$D*[R_$2>BG$.FH<+I7E0F@^E M!2A:5WFMCV^H??R.\NI?C#8L9W0ES_3J#>KMG\A.+_76*S>HC0^E>5":#Z4% M*%I7;JV-;RB=6RFW8C-6]]=)\DX.;^6XTKMU14V\6'!0?_]$:^VJ6>2&)-7V M%'U"EO2Y;_QTH8EYN,1\:&(!BE;I;WBP:RIA^;K<0<=)F.U2451R<+;9I?>^ MW)MV=/Y>OYWK/><=_=;M.^_IMWZU-Z^MMMHJ^('F&UL MK9AM;]LV$(#_"J$50PML$4F]6,IL XVE[@4K%B1H^YFQ:%N()'HD;7?_?J2D MR);,"([++[%(W3W4W?$N/$X/C#^+#:42?"^+2LR649+526;@8PM M25XY\VD]=\_G4[:315[1>P[$KBP)_^^. M%NPP<*"B.60&W"GBHX+^BX+4*WJ4K^*V"?^D*0:M0 MF^XVMM>.2X@D\REG!\"UM*+IA]K[M;;R5U[IC?(HN7J;*STY_YLJ+POP*_AG M2SF1>;4&A9X"2R8D>)]02?)"?% "7QX3\/[=AZDKU;):V5VV2]PU2^!7EO# M9U;)C0!IE=',H)^,ZX!?^VJ&^#!7P"&V#-\S^)R=6PR MY\=63Z]>O><,K]L 7LWS1C> *:J-GF_6TP7L5FS)DLX<5:$$Y7OJS'_^"87P M-Y-+;<(2F[#4$JSG?+]SOC]&GYN2SA2*AA+6%%WZ]W,4XL"/I^[^U,D&,13' M..J+)>=B'O:]$/?%TG,Q[,51$'9B/9.#SN1@U.2%KBMLI?[)[&FUHR9K1P%O MW7@V88E-6&H)UHM"V$4AO#+K0YO.MPE+;,)22[">\R>=\R=6LKZA!"<)&$0P M"@=);Y#RHL ?Y/RY%$(AF@QSWB &)Q,8F7,^Z@R.1@W^G5;*X@*0*@,D4Z>8 M7$CM@;TQ_4=9;]V!-F&)35AJ"=8+2-P%)+XR_6.;SK<)2VS"4DNPGO,1/)ZY MH94"T&).TS'&& XK@$$L\"<(#DJ 00Q%7C@9X%*3'(Q]#,U% )VT&FC4[$=2 MJ%9#%P'5DSY3[0"CU:.4M^Y!J[3$*BVU1>O' Q_C@:^L JVBK1#8I"56::DM M6C\$Q^8+C;87EU<"[RPG/1R@82$P2$$T/ H8I,( HF$5,$A!_,I! !T;'C3> M\3PH)Q*^W-1E(%,]0,&V):W,1H^BWKP+;=(2J[34%JT?E&-+AH)K"X'57LPJ M+;%*2VW1^B$X]F-HM..XO!"$9UUY#,]/!.=2D1><'0C.I5 $D3>L! :Q< *' MQP'WY!*RI'Q=W_X*949)1K ?5^Q9A\&>@% MNGOZ^?]02P,$% @ _( #5\0-FA7" @ X0< !D !X;"]W;W)K&ULE95K;],P%(;_BA40&A);[DDSVDAL%6*(B6IE\-E- M3QMKCAULI]W^/7:2A;*ZF?B2^';>YSUQ?#S=<_$@2P"%'BO*Y,PIE:HO75<6 M)5187O :F)[9<%%AI;MBZ\I: %ZW015U \]+W H3YN33=FPA\BEO%"4,%@+) MIJJP>+H"RO>!^[(ME1FP,VG-=["$M1]O1"ZYPXJ:U(!DX0S)& S=-61@A.DKPV[0*'W 05>$*+[Y1R=O7TAXVKS0P;! MD$'0ZH8G=+__:U;:G'4*D5W!_/B7LL8%S!S]9TL0.W#R=V_\Q/LXXB\<_(5C MZOF2/***,U5*!&P-:S2' JH5"!3ZW<>P.>XTDU;3G*Q='B19$J=3=V?Q$@U> MHE$OFA;9:%U4?$"+PSB+(SLM'FCQ:[381HN/:)$?!]D)6C+0DM=HB8V6'-.\ M+,X2.RT=:.EKM-1&2_^+-AEHDU':CQ)TR=TH$#;FY'CWLBB*3C"S@9F-,[G" MM"\ -7[2E5A9SU9V1 ^2,(JCT([WO;^5R1LU<%/5C=+GA3"=-TAE+3G>$?T\ MG"23]$3R_D%=]$?I"U,)F$([3!LP1?%%*;2Z\8]/;1"E2?+RV+H'!=M$E_[GG//B7V=;[6YLS6 (_>-5'9&:^?:BRBR90T- MMV>Z!84K*VT:[C TZ\BV!G@50(V,$L:F4<.%HD4>YI:FR'7GI%"P-,1V3CNC,7V8N!+KVOF)J,A;OH9K<#?MTF 4C2R5:$!9H14QL)K13_'%///Y M(>&G@*W=&1/OY%;K.Q]\K6:4>4$@H72>@>-G W.0TA.AC-\#)QU+>N#N^('] M<_".7FZYA;F6OT3EZAD]IZ2"%>^DN]+;+S#XF7B^4DL;WF3;YTX8)65GG6X& M,"IHA.J__'[X#SN .'L"D R Y*6 = "DP6BO+-A:<,>+W.@M,3X;V?P@_)N M1C="^5V\=@97!>)<,==-(QQNB[.$JXK,M7)"K4&5 BPY68#C0MI3\H[<7"_( MR>O3/')8UH.C)3O.XIOKPK:\A!G%[K%@-D"+-Z_B*?MX MS.)_(MLSG(Z&T^?87VRX9YD&%M_\FR+.SEG"/F1YM-DUU?D=UESBV78.#![&LC0=5,>$9@?UDPG#YY',PS3V2&"TTS?^SOK!S5HH M2R2L$,/.WD\H,?T]T =.MZ&5;K7#Q@S#&J].,#X!UU=:NX? =^=X&1=_ 5!+ M P04 " #\@ -7'KU"%2@# !.$@ #0 'AL+W-T>6QECNJ7K MP];,(;5TC\ZY1])U93*LS5JPVP5C)EJ50M8CLC"F^A#']6S!2EI?J(I)BQ1* ME]38KI['=:49S6L@E2+N=3II7%(NR7@HE^5U:>IHII;2C$B_#47^]CD?D6[Z MGD1>;J)R-B+W9V]_+)6Y>A/Y^\F[DY/._?G58?S, >&N[T'--#HEETJ[W#Z# M_SMMAA\ FQX8Y$*T!GO$!\;#BAK#M+RV'3?8!1]!4=.^6U?6X5S3=;?7)UN" MN]DD4Z5SIMLT7;()C8>"%6!'\_D"[D95,8#&J-(V[&GO2IV]JT#NR;;IC74-+V,[X#^KIK7WI5]F6Y4\0=E/BWM=*3K0XFR M&\T*OG+]5=$:P-2[N#JM*K'^*/A%8(F;@/EB?,R>P5GFF6)4F:8BLZ MF00=3+!U2U/XAM4P;\# \D"F/UMK?+?Q"GFZ#K ]?:I"L)GBE8C-%%]K0,+K M!HPL"^\VE@<8V"Y@M0/YPWF@IL*<)(%=Q;QA3S".9!F&0"V&:S1-D=5)X1/> M'^PI29(L"R. A1TD"8; TX@CF /P@"%)XL[!@_,HWIQ3\?87I/%O4$L#!!0 M ( /R U>7BKL

-8?20$3;8T.P6BP^0"X99K>]9!:G[J5\('^*7.A>L#%F>]5NZW3#"JH_R2T3 M4+.2JJ &#M6ZK;>*T4QO&#-%W@X[G<_/<"ZKO.0M(P04O^ O+>D$G('HCGT92\1L.W.B""%JP7')H0*C*2" -!(F.QZPK:VBN%4X^SW54;P'5BJ*XX5*AQ M5H'[@QQ,)\-DLDB&Y$?_IC\9)&0Q2I+EPJ$+$;KP/'3DPXPJYH8P0B"C]X)< M+/O+Y#:9 .#TFDQGR;R_'#N0,0(9GP=R,+V=S9.1 WF!0%Z<$?+?T(&\1" O MSP.Y6$X'OT93!_(S OGYC)"U2'Y!(+^- ?D4@O_J%_$$UUT2N MR$PQ#4V/YNX.-GEW_,+-V2,3)2-SELJUX'^CH5[Q+!8;M[12WY#GI6$9F<"9 MQB*5!2-;YF)B@NEZ-LQ80 2-5,\?B6#&I<*,TO6L%,B]MI 9/>]2A]\EW]H? M'"%B/NEZ%LH8AH)8VY.2OM:02AW182+I>C;)->6*W-$'=)/H4D)%3 LIF;#%!G( M+S#1,:DED7$Y-(U[-%%D:F#RT8R8!I 8'N M:/K#_-'U+)#];+*D?UCMUF*ZZ'KVQ0T\;C6:$!-$Z%D0<-<*;JIGOYI+!K ( M@_40$RFO0V*J"-]!%4>*A11?YOQO3'0MXED5#;(E'V#=F3/]C\N(B2/T+ [4 MNK6\+\3D$7J7AVO=QBAB]@@]VP/1KV5U,3&+A)XMTJS@QFAB%@D]6P257?V9 MQ&02>I9))3MR++M]/%U,S"_AN_BEZ29'F&@BSZ(Y,8]8/G@JY0SS& M]!-[UL^I=?\^GBXFII_8LWY.8K:(K7(QT3;?.*>4M-J>PK7LB!Y2NR MBXG9)O;]J@7;!ZI'$[--7-FF?7AWGK$5%RR;P"DTE**V(_=OGY\8;?B M5F6>#Z!L*FXDS0ZOX@]_(_C^'U!+ P04 " #\@ -7CF$X^KT! !Z'0 M&@ 'AL+U]R96QS+W=OH=][M#FE;KG-NW$-)\'?=UZC=M/)R?+)MN7^?SLEN%MIYOZU4,.AB,0G<_ MHWJ?W,_LS4YM_,_$9KGQT/^8W#X:;IM6L>8J]ZL[E8Q3ZMPW-UN MIW"Y2/\\N>I]+J95][F0*I0.4@C2\D$&058^R"'(RP<-(6A8/F@$0:/R02\0 M]%(^Z!6"7LL'C2%H7#Y(!BCC@"#I 6L"K06Y%@*O!<$6 K$%R18"LP71%@*U M!=D6 K<%X18"N07I%@*[!?$6 KT5]58"O17U5@*]]>%GFT!O1;V50&]%O95 M;T6]E4!O1;V50&]%O95 ;T6]E4!O1;V50&]#O8U ;T.]C4!O0[V-0&][V"PA MT-M0;R/0VU!O(]#;4&\CT-M0;R/0VU!O(]#;4&\CT-M1;R?0VU%O)]#;46\G MT-M1;R?0VQ\VNPGT=M3;"?1VU-L)]';4VPGT=M3;"?1VU-N?J7?*IUU,MY[K M&H]NGDEU/K\;;Y^_+*\W$>?A!>< 1ZWOOU!+ P04 " #\@ -7G"O3#[T! M !W'0 $P %M#;VYT96YT7U1Y<&5S72YX;6S-VUW7VSI;#)^VUKRO4U= M-7Z2%"'8!\9\5E"M?6HL-7%D;ERM0WQT"V9UMM0+8F(X'+',-(&:, AMC60Z M?J*Y7E6A][R)KWUIFDGBJ/))[W$WL3?4@;[A#2N[.;X MHK2^'RC3S>9E1 M;K)5'9>DWCK2N2^(0EVENZ+]\\DA[C#MKOSJ_*[,N< X<^:,]?'$'%T>=SB2 M=O7 QD+D0GG^$X^)L?35WT?M:>>4_S([;N^'<UKKLCGDL^Y_Z_034$L! A0#% @ _( #5P=!36*! M L0 ! ( ! &1O8U!R;W!S+V%P<"YX;6Q02P$" M% ,4 " #\@ -7'@<<4NX K @ $0 @ &O 9&]C M4')O<',O8V]R92YX;6Q02P$"% ,4 " #\@ -7F5R<(Q & "<)P $P M @ ', 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( M /R U?1A4IKT 4 / > 8 " @0T( !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0# M% @ _( #5P\@4;RV @ 0P< !@ ("!W10 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ _( #5ZVZF9OP M @ D@D !@ ("!]2$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ _( #5[5^_0PY" W2( !@ M ("!2S( 'AL+W=O&UL4$L! A0#% @ _( #5UBYEB3A!0 %!$ !D M ("!5T( 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ _( #5X&PO=V]R:W-H965T4?Q'>?@( ,D% 9 M " @5]9 !X;"]W;W)K&UL4$L! A0#% M @ _( #5V;!';<< P 00H !D ("!%%P 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ _( #5_4V_/X,!0 *@\ !D M ("!77H 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ _( #5Y,3/N9Y P \0@ !D ("!DH8 M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M_( #5RKH=J*I P G0D !D ("!79$ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ _( #5^O++^%Q P MVP\ !D ("!.9L 'AL+W=O&PO=V]R:W-H965TI M-3^4V , -P. 9 " @&UL4$L! A0#% @ _( #5ZGMGWL; @ # 4 !D M ("!W*< 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ _( #5TH>U?2:!0 NBP !D ("!7[( 'AL M+W=O&PO=V]R:W-H965T/:0E#K@( $8* 9 " M@9&Z !X;"]W;W)K&UL4$L! A0#% @ _( # M5Y ^ AAO!@ 2C< !D ("!=KT 'AL+W=O " ")!P &0 M @($&PO=V]R:W-H965T&UL4$L! A0#% @ _( #5[ZE ;/I P *A M !D ("!D,L 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ _( #5\T5",H0! LQ< !D M ("!.MD 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ _( #5QZ]0A4H P 3A( T ( ![>( 'AL+W-T M>6QE&PO=V]R:V)O;VLN>&UL4$L! A0#% M @ _( #5XYA./J] 0 >AT !H ( !G^L 'AL+U]R96QS M+W=O XML 61 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 62 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 63 FilingSummary.xml IDEA: XBRL DOCUMENT 3.23.2 html 133 221 1 false 30 0 false 7 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://iradimed.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONDENSED BALANCE SHEETS Sheet http://iradimed.com/role/StatementCondensedBalanceSheets CONDENSED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONDENSED BALANCE SHEETS (Parenthetical) Sheet http://iradimed.com/role/StatementCondensedBalanceSheetsParenthetical CONDENSED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONDENSED STATEMENTS OF OPERATIONS Sheet http://iradimed.com/role/StatementCondensedStatementsOfOperations CONDENSED STATEMENTS OF OPERATIONS Statements 4 false false R5.htm 00300 - Statement - CONDENSED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome CONDENSED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 00305 - Statement - CONDENSED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical) Sheet http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncomeParenthetical CONDENSED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical) Statements 6 false false R7.htm 00400 - Statement - CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 7 false false R8.htm 00405 - Statement - CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Sheet http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquityParenthetical CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Statements 8 false false R9.htm 00500 - Statement - CONDENSED STATEMENTS OF CASH FLOWS Sheet http://iradimed.com/role/StatementCondensedStatementsOfCashFlows CONDENSED STATEMENTS OF CASH FLOWS Statements 9 false false R10.htm 10101 - Disclosure - Basis of Presentation Sheet http://iradimed.com/role/DisclosureBasisOfPresentation Basis of Presentation Notes 10 false false R11.htm 10201 - Disclosure - Revenue Recognition Sheet http://iradimed.com/role/DisclosureRevenueRecognition Revenue Recognition Notes 11 false false R12.htm 10301 - Disclosure - Basic and Diluted Net Income per Share Sheet http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShare Basic and Diluted Net Income per Share Notes 12 false false R13.htm 10401 - Disclosure - Inventory, net Sheet http://iradimed.com/role/DisclosureInventoryNet Inventory, net Notes 13 false false R14.htm 10501 - Disclosure - Property and Equipment, net Sheet http://iradimed.com/role/DisclosurePropertyAndEquipmentNet Property and Equipment, net Notes 14 false false R15.htm 10601 - Disclosure - Intangible Assets, net Sheet http://iradimed.com/role/DisclosureIntangibleAssetsNet Intangible Assets, net Notes 15 false false R16.htm 10701 - Disclosure - Fair Value Measurements Sheet http://iradimed.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 16 false false R17.htm 10801 - Disclosure - Accumulated Other Comprehensive Income Sheet http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncome Accumulated Other Comprehensive Income Notes 17 false false R18.htm 10901 - Disclosure - Stock-Based Compensation Sheet http://iradimed.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 18 false false R19.htm 11001 - Disclosure - Income Taxes Sheet http://iradimed.com/role/DisclosureIncomeTaxes Income Taxes Notes 19 false false R20.htm 11101 - Disclosure - Leases Sheet http://iradimed.com/role/DisclosureLeases Leases Notes 20 false false R21.htm 11201 - Disclosure - Commitments and Contingencies Sheet http://iradimed.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 21 false false R22.htm 20102 - Disclosure - Basis of Presentation (Policies) Sheet http://iradimed.com/role/DisclosureBasisOfPresentationPolicies Basis of Presentation (Policies) Policies 22 false false R23.htm 30203 - Disclosure - Revenue Recognition (Tables) Sheet http://iradimed.com/role/DisclosureRevenueRecognitionTables Revenue Recognition (Tables) Tables http://iradimed.com/role/DisclosureRevenueRecognition 23 false false R24.htm 30303 - Disclosure - Basic and Diluted Net Income per Share (Tables) Sheet http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareTables Basic and Diluted Net Income per Share (Tables) Tables http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShare 24 false false R25.htm 30403 - Disclosure - Inventory, net (Tables) Sheet http://iradimed.com/role/DisclosureInventoryNetTables Inventory, net (Tables) Tables http://iradimed.com/role/DisclosureInventoryNet 25 false false R26.htm 30503 - Disclosure - Property and Equipment, net (Tables) Sheet http://iradimed.com/role/DisclosurePropertyAndEquipmentNetTables Property and Equipment, net (Tables) Tables http://iradimed.com/role/DisclosurePropertyAndEquipmentNet 26 false false R27.htm 30603 - Disclosure - Intangible Assets, net (Tables) Sheet http://iradimed.com/role/DisclosureIntangibleAssetsNetTables Intangible Assets, net (Tables) Tables http://iradimed.com/role/DisclosureIntangibleAssetsNet 27 false false R28.htm 30803 - Disclosure - Accumulated Other Comprehensive Income (Tables) Sheet http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeTables Accumulated Other Comprehensive Income (Tables) Tables http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncome 28 false false R29.htm 30903 - Disclosure - Stock Based Compensation (Tables) Sheet http://iradimed.com/role/DisclosureStockBasedCompensationTables Stock Based Compensation (Tables) Tables 29 false false R30.htm 31103 - Disclosure - Leases (Tables) Sheet http://iradimed.com/role/DisclosureLeasesTables Leases (Tables) Tables http://iradimed.com/role/DisclosureLeases 30 false false R31.htm 40101 - Disclosure - Basis of Presentation (Details) Sheet http://iradimed.com/role/DisclosureBasisOfPresentationDetails Basis of Presentation (Details) Details http://iradimed.com/role/DisclosureBasisOfPresentationPolicies 31 false false R32.htm 40201 - Disclosure - Revenue Recognition - Information by geographic region (Details) Sheet http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails Revenue Recognition - Information by geographic region (Details) Details 32 false false R33.htm 40202 - Disclosure - Revenue Recognition - Information by type (Details) Sheet http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails Revenue Recognition - Information by type (Details) Details 33 false false R34.htm 40203 - Disclosure - Revenue Recognition - Contract liabilities (Details) Sheet http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails Revenue Recognition - Contract liabilities (Details) Details 34 false false R35.htm 40204 - Disclosure - Revenue Recognition - Capitalized contract costs (Details) Sheet http://iradimed.com/role/DisclosureRevenueRecognitionCapitalizedContractCostsDetails Revenue Recognition - Capitalized contract costs (Details) Details 35 false false R36.htm 40301 - Disclosure - Basic and diluted net income per share (Details) Sheet http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails Basic and diluted net income per share (Details) Details 36 false false R37.htm 40401 - Disclosure - Inventory, net (Details) Sheet http://iradimed.com/role/DisclosureInventoryNetDetails Inventory, net (Details) Details http://iradimed.com/role/DisclosureInventoryNetTables 37 false false R38.htm 40501 - Disclosure - Property and Equipment, net (Details) Sheet http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails Property and Equipment, net (Details) Details http://iradimed.com/role/DisclosurePropertyAndEquipmentNetTables 38 false false R39.htm 40502 - Disclosure - Property and Equipment, net - Land Acquisition (Details) Sheet http://iradimed.com/role/DisclosurePropertyAndEquipmentNetLandAcquisitionDetails Property and Equipment, net - Land Acquisition (Details) Details 39 false false R40.htm 40503 - Disclosure - Property and Equipment, net - geographic region (Details) Sheet http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails Property and Equipment, net - geographic region (Details) Details 40 false false R41.htm 40601 - Disclosure - Intangible Assets, net (Details) Sheet http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails Intangible Assets, net (Details) Details http://iradimed.com/role/DisclosureIntangibleAssetsNetTables 41 false false R42.htm 40801 - Disclosure - Accumulated Other Comprehensive Income (Details) Sheet http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeDetails Accumulated Other Comprehensive Income (Details) Details http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeTables 42 false false R43.htm 40901 - Disclosure - Stock-Based Compensation (Details) Sheet http://iradimed.com/role/DisclosureStockBasedCompensationDetails Stock-Based Compensation (Details) Details http://iradimed.com/role/DisclosureStockBasedCompensation 43 false false R44.htm 40902 - Disclosure - Stock-Based Compensation - Stock Options and Restricted Stock Units Activity (Details) Sheet http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails Stock-Based Compensation - Stock Options and Restricted Stock Units Activity (Details) Details 44 false false R45.htm 41001 - Disclosure - Income Taxes (Details) Sheet http://iradimed.com/role/DisclosureIncomeTaxesDetails Income Taxes (Details) Details http://iradimed.com/role/DisclosureIncomeTaxes 45 false false R46.htm 41101 - Disclosure - Leases (Details) Sheet http://iradimed.com/role/DisclosureLeasesDetails Leases (Details) Details http://iradimed.com/role/DisclosureLeasesTables 46 false false R47.htm 41102 - Disclosure - Leases - Operating lease cost (Details) Sheet http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails Leases - Operating lease cost (Details) Details 47 false false R48.htm 41103 - Disclosure - Leases - Maturity of operating lease liability (Details) Sheet http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails Leases - Maturity of operating lease liability (Details) Details 48 false false R49.htm 41201 - Disclosure - Commitments and Contingencies (Details) Sheet http://iradimed.com/role/DisclosureCommitmentsAndContingenciesDetails Commitments and Contingencies (Details) Details http://iradimed.com/role/DisclosureCommitmentsAndContingencies 49 false false All Reports Book All Reports irmd-20230630x10q.htm irmd-20230630.xsd irmd-20230630_cal.xml irmd-20230630_def.xml irmd-20230630_lab.xml irmd-20230630_pre.xml irmd-20230630xex31d1.htm irmd-20230630xex31d2.htm irmd-20230630xex32d1.htm http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 65 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "irmd-20230630x10q.htm": { "axisCustom": 0, "axisStandard": 8, "baseTaxonomies": { "http://fasb.org/us-gaap/2022": 531, "http://xbrl.sec.gov/dei/2022": 29 }, "contextCount": 133, "dts": { "calculationLink": { "local": [ "irmd-20230630_cal.xml" ] }, "definitionLink": { "local": [ "irmd-20230630_def.xml" ] }, "inline": { "local": [ "irmd-20230630x10q.htm" ] }, "labelLink": { "local": [ "irmd-20230630_lab.xml" ] }, "presentationLink": { "local": [ "irmd-20230630_pre.xml" ] }, "schema": { "local": [ "irmd-20230630.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd" ] } }, "elementCount": 324, "entityCount": 1, "hidden": { "http://xbrl.sec.gov/dei/2022": 5, "total": 5 }, "keyCustom": 19, "keyStandard": 202, "memberCustom": 14, "memberStandard": 16, "nsprefix": "irmd", "nsuri": "http://iradimed.com/20230630", "report": { "R1": { "firstAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00090 - Document - Document and Entity Information", "menuCat": "Cover", "order": "1", "role": "http://iradimed.com/role/DocumentDocumentAndEntityInformation", "shortName": "Document and Entity Information", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10101 - Disclosure - Basis of Presentation", "menuCat": "Notes", "order": "10", "role": "http://iradimed.com/role/DisclosureBasisOfPresentation", "shortName": "Basis of Presentation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10201 - Disclosure - Revenue Recognition", "menuCat": "Notes", "order": "11", "role": "http://iradimed.com/role/DisclosureRevenueRecognition", "shortName": "Revenue Recognition", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10301 - Disclosure - Basic and Diluted Net Income per Share", "menuCat": "Notes", "order": "12", "role": "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShare", "shortName": "Basic and Diluted Net Income per Share", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:EarningsPerShareTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10401 - Disclosure - Inventory, net", "menuCat": "Notes", "order": "13", "role": "http://iradimed.com/role/DisclosureInventoryNet", "shortName": "Inventory, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10501 - Disclosure - Property and Equipment, net", "menuCat": "Notes", "order": "14", "role": "http://iradimed.com/role/DisclosurePropertyAndEquipmentNet", "shortName": "Property and Equipment, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10601 - Disclosure - Intangible Assets, net", "menuCat": "Notes", "order": "15", "role": "http://iradimed.com/role/DisclosureIntangibleAssetsNet", "shortName": "Intangible Assets, net", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10701 - Disclosure - Fair Value Measurements", "menuCat": "Notes", "order": "16", "role": "http://iradimed.com/role/DisclosureFairValueMeasurements", "shortName": "Fair Value Measurements", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:FairValueDisclosuresTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10801 - Disclosure - Accumulated Other Comprehensive Income", "menuCat": "Notes", "order": "17", "role": "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncome", "shortName": "Accumulated Other Comprehensive Income", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ComprehensiveIncomeNoteTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "10901 - Disclosure - Stock-Based Compensation", "menuCat": "Notes", "order": "18", "role": "http://iradimed.com/role/DisclosureStockBasedCompensation", "shortName": "Stock-Based Compensation", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11001 - Disclosure - Income Taxes", "menuCat": "Notes", "order": "19", "role": "http://iradimed.com/role/DisclosureIncomeTaxes", "shortName": "Income Taxes", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00100 - Statement - CONDENSED BALANCE SHEETS", "menuCat": "Statements", "order": "2", "role": "http://iradimed.com/role/StatementCondensedBalanceSheets", "shortName": "CONDENSED BALANCE SHEETS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11101 - Disclosure - Leases", "menuCat": "Notes", "order": "20", "role": "http://iradimed.com/role/DisclosureLeases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "11201 - Disclosure - Commitments and Contingencies", "menuCat": "Notes", "order": "21", "role": "http://iradimed.com/role/DisclosureCommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "20102 - Disclosure - Basis of Presentation (Policies)", "menuCat": "Policies", "order": "22", "role": "http://iradimed.com/role/DisclosureBasisOfPresentationPolicies", "shortName": "Basis of Presentation (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30203 - Disclosure - Revenue Recognition (Tables)", "menuCat": "Tables", "order": "23", "role": "http://iradimed.com/role/DisclosureRevenueRecognitionTables", "shortName": "Revenue Recognition (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30303 - Disclosure - Basic and Diluted Net Income per Share (Tables)", "menuCat": "Tables", "order": "24", "role": "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareTables", "shortName": "Basic and Diluted Net Income per Share (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30403 - Disclosure - Inventory, net (Tables)", "menuCat": "Tables", "order": "25", "role": "http://iradimed.com/role/DisclosureInventoryNetTables", "shortName": "Inventory, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30503 - Disclosure - Property and Equipment, net (Tables)", "menuCat": "Tables", "order": "26", "role": "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetTables", "shortName": "Property and Equipment, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30603 - Disclosure - Intangible Assets, net (Tables)", "menuCat": "Tables", "order": "27", "role": "http://iradimed.com/role/DisclosureIntangibleAssetsNetTables", "shortName": "Intangible Assets, net (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30803 - Disclosure - Accumulated Other Comprehensive Income (Tables)", "menuCat": "Tables", "order": "28", "role": "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeTables", "shortName": "Accumulated Other Comprehensive Income (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "30903 - Disclosure - Stock Based Compensation (Tables)", "menuCat": "Tables", "order": "29", "role": "http://iradimed.com/role/DisclosureStockBasedCompensationTables", "shortName": "Stock Based Compensation (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00105 - Statement - CONDENSED BALANCE SHEETS (Parenthetical)", "menuCat": "Statements", "order": "3", "role": "http://iradimed.com/role/StatementCondensedBalanceSheetsParenthetical", "shortName": "CONDENSED BALANCE SHEETS (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "31103 - Disclosure - Leases (Tables)", "menuCat": "Tables", "order": "30", "role": "http://iradimed.com/role/DisclosureLeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeaseCostTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "p", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_b-AKVeCFbEapE0G4GF62EQ", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40101 - Disclosure - Basis of Presentation (Details)", "menuCat": "Details", "order": "31", "role": "http://iradimed.com/role/DisclosureBasisOfPresentationDetails", "shortName": "Basis of Presentation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock", "us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:NumberOfReportableSegments", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_segment_b-AKVeCFbEapE0G4GF62EQ", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40201 - Disclosure - Revenue Recognition - Information by geographic region (Details)", "menuCat": "Details", "order": "32", "role": "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails", "shortName": "Revenue Recognition - Information by geographic region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_srt_StatementGeographicalAxis_country_US_g7XKNFaE3kGiqdYIMH07qw", "decimals": "0", "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "irmd:RevenueFromContractWithCustomerBeforeOtherIncomeExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40202 - Disclosure - Revenue Recognition - Information by type (Details)", "menuCat": "Details", "order": "33", "role": "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails", "shortName": "Revenue Recognition - Information by type (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "irmd:RevenueFromContractWithCustomerBeforeOtherIncomeExcludingAssessedTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "irmd:AdvancePaymentsFromCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40203 - Disclosure - Revenue Recognition - Contract liabilities (Details)", "menuCat": "Details", "order": "34", "role": "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails", "shortName": "Revenue Recognition - Contract liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "irmd:AdvancePaymentsFromCustomers", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CapitalizedContractCostNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40204 - Disclosure - Revenue Recognition - Capitalized contract costs (Details)", "menuCat": "Details", "order": "35", "role": "http://iradimed.com/role/DisclosureRevenueRecognitionCapitalizedContractCostsDetails", "shortName": "Revenue Recognition - Capitalized contract costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CapitalizedContractCostNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40301 - Disclosure - Basic and diluted net income per share (Details)", "menuCat": "Details", "order": "36", "role": "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails", "shortName": "Basic and diluted net income per share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerShareTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "INF", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_76QaGlfUtEW48p7oPPjN3w", "xsiNil": "false" } }, "R37": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40401 - Disclosure - Inventory, net (Details)", "menuCat": "Details", "order": "37", "role": "http://iradimed.com/role/DisclosureInventoryNetDetails", "shortName": "Inventory, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryRawMaterials", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40501 - Disclosure - Property and Equipment, net (Details)", "menuCat": "Details", "order": "38", "role": "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails", "shortName": "Property and Equipment, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_12_31_2022_xExeyNdpbEiCiJv70cjrMg", "decimals": "0", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "span", "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_2_2_2023_9BnwYMVRZEmwNpSdCRVt0Q", "decimals": "1", "first": true, "lang": null, "name": "us-gaap:AreaOfLand", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_acre_-p-GOJAbJ0SuntZX-2q4Sw", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40502 - Disclosure - Property and Equipment, net - Land Acquisition (Details)", "menuCat": "Details", "order": "39", "role": "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetLandAcquisitionDetails", "shortName": "Property and Equipment, net - Land Acquisition (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_2_2_2023_9BnwYMVRZEmwNpSdCRVt0Q", "decimals": "1", "first": true, "lang": null, "name": "us-gaap:AreaOfLand", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_acre_-p-GOJAbJ0SuntZX-2q4Sw", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00200 - Statement - CONDENSED STATEMENTS OF OPERATIONS", "menuCat": "Statements", "order": "4", "role": "http://iradimed.com/role/StatementCondensedStatementsOfOperations", "shortName": "CONDENSED STATEMENTS OF OPERATIONS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Revenues", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40503 - Disclosure - Property and Equipment, net - geographic region (Details)", "menuCat": "Details", "order": "40", "role": "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails", "shortName": "Property and Equipment, net - geographic region (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LongLivedAssetsByGeographicAreasTableTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_srt_StatementGeographicalAxis_country_US_E4IG6ZvmLkK3Zy28m2yy6A", "decimals": "0", "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentNet", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40601 - Disclosure - Intangible Assets, net (Details)", "menuCat": "Details", "order": "41", "role": "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails", "shortName": "Intangible Assets, net (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_12_31_2022_xExeyNdpbEiCiJv70cjrMg", "decimals": "0", "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_3_31_2022_O_5tkQMXqEKGaHLRYWLR4Q", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40801 - Disclosure - Accumulated Other Comprehensive Income (Details)", "menuCat": "Details", "order": "42", "role": "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeDetails", "shortName": "Accumulated Other Comprehensive Income (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "us-gaap:ComprehensiveIncomeNoteTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_3_31_2022_O_5tkQMXqEKGaHLRYWLR4Q", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40901 - Disclosure - Stock-Based Compensation (Details)", "menuCat": "Details", "order": "43", "role": "http://iradimed.com/role/DisclosureStockBasedCompensationDetails", "shortName": "Stock-Based Compensation (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_GvLYWhbO9U6ZvqHrJ9WFdQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_76QaGlfUtEW48p7oPPjN3w", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "40902 - Disclosure - Stock-Based Compensation - Stock Options and Restricted Stock Units Activity (Details)", "menuCat": "Details", "order": "44", "role": "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails", "shortName": "Stock-Based Compensation - Stock Options and Restricted Stock Units Activity (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationActivityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_12_31_2022_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember_GvLYWhbO9U6ZvqHrJ9WFdQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_shares_76QaGlfUtEW48p7oPPjN3w", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:IncomeTaxExpenseBenefit", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41001 - Disclosure - Income Taxes (Details)", "menuCat": "Details", "order": "45", "role": "http://iradimed.com/role/DisclosureIncomeTaxesDetails", "shortName": "Income Taxes (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "3", "lang": null, "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_pure_gE37kmV-9USuAFgSAo185A", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "INF", "first": true, "lang": null, "name": "irmd:NumberOfMaterialLeaseContracts", "reportCount": 1, "unitRef": "Unit_Standard_item_pk4Ymn8YIUGXpFTrJ1Ox8Q", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41101 - Disclosure - Leases (Details)", "menuCat": "Details", "order": "46", "role": "http://iradimed.com/role/DisclosureLeasesDetails", "shortName": "Leases (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_2_1_2023_To_2_28_2023_5mG6hn6wlUalQ74v3daTJg", "decimals": "INF", "lang": null, "name": "irmd:NumberOfLeaseContractsEntered", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_item_pk4Ymn8YIUGXpFTrJ1Ox8Q", "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41102 - Disclosure - Leases - Operating lease cost (Details)", "menuCat": "Details", "order": "47", "role": "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails", "shortName": "Leases - Operating lease cost (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseCost", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R48": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41103 - Disclosure - Leases - Maturity of operating lease liability (Details)", "menuCat": "Details", "order": "48", "role": "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails", "shortName": "Leases - Maturity of operating lease liability (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R49": { "firstAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "41201 - Disclosure - Commitments and Contingencies (Details)", "menuCat": "Details", "order": "49", "role": "http://iradimed.com/role/DisclosureCommitmentsAndContingenciesDetails", "shortName": "Commitments and Contingencies (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_6_30_2023_8XiYurFSS0CdaVbhEPSNtA", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PurchaseObligation", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00300 - Statement - CONDENSED STATEMENTS OF COMPREHENSIVE INCOME", "menuCat": "Statements", "order": "5", "role": "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome", "shortName": "CONDENSED STATEMENTS OF COMPREHENSIVE INCOME", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2022_To_6_30_2022_Il3m09ZwCUeWLZ-23yp-Zw", "decimals": "0", "lang": null, "name": "us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00305 - Statement - CONDENSED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)", "menuCat": "Statements", "order": "6", "role": "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncomeParenthetical", "shortName": "CONDENSED STATEMENTS OF COMPREHENSIVE INCOME (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_4_1_2023_To_6_30_2023_c6IYQRmWE0yZlawbHT5yHQ", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_12_31_2021_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Q-Q-KSHJyEqDup4Yg-TwTg", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00400 - Statement - CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY", "menuCat": "Statements", "order": "7", "role": "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity", "shortName": "CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2022_To_3_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember_30ldNwgCukGzSi2oF6mvvA", "decimals": "0", "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_3_31_2023_CG-0EtdMhk6P1mMD_-gMPg", "decimals": "2", "first": true, "lang": null, "name": "irmd:DividendsPaidAmountPerShare", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_qctqZaGGLU6hckXg-5j4WQ", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00405 - Statement - CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "menuCat": "Statements", "order": "8", "role": "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquityParenthetical", "shortName": "CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "As_Of_3_31_2023_CG-0EtdMhk6P1mMD_-gMPg", "decimals": "2", "first": true, "lang": null, "name": "irmd:DividendsPaidAmountPerShare", "reportCount": 1, "unique": true, "unitRef": "Unit_Divide_USD_shares_qctqZaGGLU6hckXg-5j4WQ", "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00500 - Statement - CONDENSED STATEMENTS OF CASH FLOWS", "menuCat": "Statements", "order": "9", "role": "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows", "shortName": "CONDENSED STATEMENTS OF CASH FLOWS", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "baseRef": "irmd-20230630x10q.htm", "contextRef": "Duration_1_1_2023_To_6_30_2023_zquXyfPtUUeYNzQWnV2vaw", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ProfitLoss", "reportCount": 1, "unique": true, "unitRef": "Unit_Standard_USD__MkgpHSCl0isX2nBwJiLng", "xsiNil": "false" } } }, "segmentCount": 30, "tag": { "country_US": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "UNITED STATES [Member]", "terseLabel": "United States" } } }, "localname": "US", "nsuri": "http://xbrl.sec.gov/country/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails", "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "dei_AmendmentFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.", "label": "Amendment Flag" } } }, "localname": "AmendmentFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_CityAreaCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area code of city", "label": "City Area Code" } } }, "localname": "CityAreaCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page.", "label": "Document and Entity Information" } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentFiscalPeriodFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Fiscal period values are FY, Q1, Q2, and Q3. 1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.", "label": "Document Fiscal Period Focus" } } }, "localname": "DocumentFiscalPeriodFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fiscalPeriodItemType" }, "dei_DocumentFiscalYearFocus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.", "label": "Document Fiscal Year Focus" } } }, "localname": "DocumentFiscalYearFocus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "gYearItemType" }, "dei_DocumentPeriodEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period. The format of the date is YYYY-MM-DD.", "label": "Document Period End Date" } } }, "localname": "DocumentPeriodEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r385" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an quarterly report.", "label": "Document Quarterly Report" } } }, "localname": "DocumentQuarterlyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r386" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a transition report.", "label": "Document Transition Report" } } }, "localname": "DocumentTransitionReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_DocumentType": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.", "label": "Document Type" } } }, "localname": "DocumentType", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "submissionTypeItemType" }, "dei_EntityAddressAddressLine1": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 1 such as Attn, Building Name, Street Name", "label": "Entity Address, Address Line One" } } }, "localname": "EntityAddressAddressLine1", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCityOrTown": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the City or Town", "label": "Entity Address, City or Town" } } }, "localname": "EntityAddressCityOrTown", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressPostalZipCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Code for the postal or zip code", "label": "Entity Address, Postal Zip Code" } } }, "localname": "EntityAddressPostalZipCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressStateOrProvince": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Name of the state or province.", "label": "Entity Address, State or Province" } } }, "localname": "EntityAddressStateOrProvince", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.", "label": "Entity Central Index Key" } } }, "localname": "EntityCentralIndexKey", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "centralIndexKeyItemType" }, "dei_EntityCommonStockSharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.", "label": "Entity Common Stock, Shares Outstanding" } } }, "localname": "EntityCommonStockSharesOutstanding", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "sharesItemType" }, "dei_EntityCurrentReportingStatus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Current Reporting Status" } } }, "localname": "EntityCurrentReportingStatus", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Indicate if registrant meets the emerging growth company criteria.", "label": "Entity Emerging Growth Company" } } }, "localname": "EntityEmergingGrowthCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityFileNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.", "label": "Entity File Number" } } }, "localname": "EntityFileNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.", "label": "Entity Filer Category" } } }, "localname": "EntityFilerCategory", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "filerCategoryItemType" }, "dei_EntityIncorporationStateCountryCode": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Two-character EDGAR code representing the state or country of incorporation.", "label": "Entity Incorporation, State or Country Code" } } }, "localname": "EntityIncorporationStateCountryCode", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r387" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).", "label": "Entity Interactive Data Current" } } }, "localname": "EntityInteractiveDataCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "yesNoItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.", "label": "Entity Registrant Name" } } }, "localname": "EntityRegistrantName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.", "label": "Entity Shell Company" } } }, "localname": "EntityShellCompany", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "Indicates that the company is a Smaller Reporting Company (SRC).", "label": "Entity Small Business" } } }, "localname": "EntitySmallBusiness", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r383" ], "lang": { "en-us": { "role": { "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.", "label": "Entity Tax Identification Number" } } }, "localname": "EntityTaxIdentificationNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "employerIdItemType" }, "dei_LocalPhoneNumber": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Local phone number for entity.", "label": "Local Phone Number" } } }, "localname": "LocalPhoneNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "normalizedStringItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r382" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(b) registered security.", "label": "Title of 12(b) Security" } } }, "localname": "Security12bTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r384" ], "lang": { "en-us": { "role": { "documentation": "Name of the Exchange on which a security is registered.", "label": "Security Exchange Name" } } }, "localname": "SecurityExchangeName", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_TradingSymbol": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Trading symbol of an instrument as listed on an exchange.", "label": "Trading Symbol" } } }, "localname": "TradingSymbol", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://iradimed.com/role/DocumentDocumentAndEntityInformation" ], "xbrltype": "tradingSymbolItemType" }, "irmd_AdvancePaymentsFromCustomers": { "auth_ref": [], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_ContractWithCustomerLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to transfer good or service to customer for which consideration from customer has been received or is due.", "label": "Advance Payments From Customers", "terseLabel": "Advance payments from customers" } } }, "localname": "AdvancePaymentsFromCustomers", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "irmd_AmortizationOfExtendedWarrantyAgreements": { "auth_ref": [], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails": { "order": 1.0, "parentTag": "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization of extended warranty agreements.", "label": "Amortization of Extended Warranty Agreements", "terseLabel": "Amortization of extended warranty agreements" } } }, "localname": "AmortizationOfExtendedWarrantyAgreements", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "monetaryItemType" }, "irmd_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "N/A", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Abstract]", "terseLabel": "Anti-dilutive stock" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAbstract", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails" ], "xbrltype": "stringItemType" }, "irmd_ComputerSoftwareAndHardwareMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to collection of computer programs and related data that provide instructions to a computer and information about long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Software And Hardware [Member]", "terseLabel": "Computer software and hardware" } } }, "localname": "ComputerSoftwareAndHardwareMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "irmd_ContractWithCustomerLiabilityDecreaseDueToRecognitionOfRevenue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of decrease in contract liabilities due to recognition of revenue.", "label": "Contract with Customer, Liability, Decrease Due to Recognition of Revenue", "negatedLabel": "Decreases due to recognition of revenue" } } }, "localname": "ContractWithCustomerLiabilityDecreaseDueToRecognitionOfRevenue", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "irmd_ContractWithCustomerLiabilityIncreaseDueToCashReceivedFromCustomers": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in contract liabilities due to cash received from customers.", "label": "Contract with Customer, Liability, Increase Due to Cash Received from Customers", "terseLabel": "Increases due to cash received from customers" } } }, "localname": "ContractWithCustomerLiabilityIncreaseDueToCashReceivedFromCustomers", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "irmd_DevicesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to devices of the entity.", "label": "Devices:" } } }, "localname": "DevicesMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "domainItemType" }, "irmd_DividendsPaidAmountPerShare": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This information represents dividend paid per share in amount.", "label": "Dividends Paid Amount Per Share" } } }, "localname": "DividendsPaidAmountPerShare", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquityParenthetical" ], "xbrltype": "perShareItemType" }, "irmd_FerroMagneticDetectionSystemsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to ferro magnetic detection systems.", "label": "Ferro Magnetic Detection Systems [Member]", "terseLabel": "Ferro Magnetic Detection Systems" } } }, "localname": "FerroMagneticDetectionSystemsMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "domainItemType" }, "irmd_FixedAssetsInProcessMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to fixed assets in-process.", "label": "Fixed Assets In-Process [Member]", "terseLabel": "Fixed assets in-process" } } }, "localname": "FixedAssetsInProcessMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "irmd_IncreaseDecreaseInWarrantyReserve": { "auth_ref": [], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 17.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Represents the increase (decrease) during the period in the carrying amount (including both current and noncurrent portions of the accrual) of the liability pertaining to warranty reserve.", "label": "Increase Decrease in Warranty Reserve", "terseLabel": "Warranty reserve" } } }, "localname": "IncreaseDecreaseInWarrantyReserve", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "irmd_IncrementalCommonSharesAttributableToDilutiveEffectOfPerformanceBasedRestrictedStockUnits": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of performance based restricted stock units arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable To Dilutive Effect Of Performance Based Restricted Stock Units", "terseLabel": "Performance-based restricted stock units" } } }, "localname": "IncrementalCommonSharesAttributableToDilutiveEffectOfPerformanceBasedRestrictedStockUnits", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails" ], "xbrltype": "sharesItemType" }, "irmd_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockUnits": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of restricted stock units arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Restricted Stock Units", "terseLabel": "Restricted stock units" } } }, "localname": "IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockUnits", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails" ], "xbrltype": "sharesItemType" }, "irmd_InternallyDevelopedSoftwareInProcessMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to exclusive legal right granted by the government to the owner of the internally developed software to exploit an invention or a process for a period of time specified by law, which are in process.", "label": "Internally Developed Software In Process [Member]", "terseLabel": "Internally developed software - in process" } } }, "localname": "InternallyDevelopedSoftwareInProcessMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "irmd_InternallyDevelopedSoftwareInUseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to exclusive legal right granted by the government to the owner of the internally developed to exploit an invention or a process for a period of time specified by law, which are in use.", "label": "Internally Developed Software In Use [Member]", "terseLabel": "Internally developed software - in use" } } }, "localname": "InternallyDevelopedSoftwareInUseMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "irmd_InternationalMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to International, a geographic region of the entity.", "label": "International [Member]", "terseLabel": "International" } } }, "localname": "InternationalMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails", "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "irmd_LesseeLeasingArrangementsOperatingLeasesRenewalTermBeginningInTwoThousandNineteen": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the term of the lessee's leasing arrangement renewal beginning in 2019, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Lessee Leasing Arrangements Operating Leases Renewal Term Beginning in Two Thousand Nineteen", "terseLabel": "Renewal term of lease beginning in 2019" } } }, "localname": "LesseeLeasingArrangementsOperatingLeasesRenewalTermBeginningInTwoThousandNineteen", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "irmd_LesseeLeasingArrangementsOperatingLeasesRenewalTermBeginningInTwoThousandTwentyFour": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the term of the lessee's leasing arrangement renewal beginning in 2024, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Lessee Leasing Arrangements Operating Leases Renewal Term Beginning in Two Thousand Twenty Four", "terseLabel": "Renewal term of lease beginning in 2024" } } }, "localname": "LesseeLeasingArrangementsOperatingLeasesRenewalTermBeginningInTwoThousandTwentyFour", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "irmd_LesseeLeasingArrangementsOperatingLeasesRenewalTermThereafter": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the term of the lessee's leasing arrangement renewal thereafter, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Lessee Leasing Arrangements Operating Leases Renewal Term Thereafter", "terseLabel": "Renewal term lease thereafter" } } }, "localname": "LesseeLeasingArrangementsOperatingLeasesRenewalTermThereafter", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "irmd_MRICompatibleIVInfusionPumpsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to MRI compatible IV infusion pumps, a product of the entity.", "label": "MRI Compatible IV Infusion Pumps [Member]", "verboseLabel": "MRI compatible IV infusion pump system" } } }, "localname": "MRICompatibleIVInfusionPumpsMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "domainItemType" }, "irmd_MRICompatiblePatientVitalSignsMonitoringSystemsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to MRI compatible IV infusion pumps, a product of the entity.", "label": "MRI Compatible Patient Vital Signs Monitoring Systems [Member]", "terseLabel": "MRI compatible patient vital signs monitoring systems" } } }, "localname": "MRICompatiblePatientVitalSignsMonitoringSystemsMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "domainItemType" }, "irmd_MonthlyBaseRent": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the monthly base rent amount during the term of the lease.", "label": "Monthly Base Rent", "terseLabel": "Monthly base rent" } } }, "localname": "MonthlyBaseRent", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "irmd_NumberOfLeaseContractsEntered": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of separate lease contracts entered.", "label": "Number of Lease Contracts Entered", "terseLabel": "Number of non-cancelable operating leases entered" } } }, "localname": "NumberOfLeaseContractsEntered", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "integerItemType" }, "irmd_NumberOfMaterialLeaseContracts": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of separate material lease contracts outstanding.", "label": "Number of material lease contracts", "terseLabel": "Number of material lease contracts outstanding" } } }, "localname": "NumberOfMaterialLeaseContracts", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "integerItemType" }, "irmd_NumberOfSuccessiveRenewalTermOfLease": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents the number of successive renewal term of lease.", "label": "Number of Successive Renewal Term of Lease", "terseLabel": "Number of successive renewal terms of lease" } } }, "localname": "NumberOfSuccessiveRenewalTermOfLease", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "integerItemType" }, "irmd_OperatingAndShortTermLeasePayments": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating and short-term lease.", "label": "Operating and Short-term Lease Payments", "terseLabel": "Operating and short-term lease payments recorded within cash flow provided by operating activities" } } }, "localname": "OperatingAndShortTermLeasePayments", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "irmd_PatentsFullyAmortizedMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law, which are fully amortized.", "label": "Patents - Fully Amortized [Member]", "terseLabel": "Patents - fully amortized" } } }, "localname": "PatentsFullyAmortizedMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "irmd_PatentsInProcessMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law, which are in process.", "label": "Patents - In Process [Member]", "terseLabel": "Patents - in process" } } }, "localname": "PatentsInProcessMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "irmd_PatentsInUseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to exclusive legal right granted by the government to the owner of the patent to exploit an invention or a process for a period of time specified by law, which are in use.", "label": "Patents - In Use [Member]", "terseLabel": "Patents - in use" } } }, "localname": "PatentsInUseMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "irmd_PerformanceBasedRestrictedStockUnitsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "This member is stands for Performance-Based Restricted Stock Units.", "label": "Performance-Based Restricted Stock Units (\"PSUs\")", "terseLabel": "Performance Based Restricted Stock Units" } } }, "localname": "PerformanceBasedRestrictedStockUnitsMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "domainItemType" }, "irmd_PurchaseCommitmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Purchase Commitment [Abstract]", "terseLabel": "Purchase commitments" } } }, "localname": "PurchaseCommitmentAbstract", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "stringItemType" }, "irmd_RevenueFromContractWithCustomerBeforeOtherIncomeExcludingAssessedTax": { "auth_ref": [], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails": { "order": 2.0, "parentTag": "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue excluding tax, earned from contracts with customers before other income.", "label": "Revenue from Contract with Customer Before Other Income, Excluding Assessed Tax", "terseLabel": "Total Devices revenue" } } }, "localname": "RevenueFromContractWithCustomerBeforeOtherIncomeExcludingAssessedTax", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "monetaryItemType" }, "irmd_RevenueFromDisposablesAndServices": { "auth_ref": [], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails": { "order": 3.0, "parentTag": "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue earned from disposables and services.", "label": "Revenue from Disposables and Services", "terseLabel": "Disposables, service and other" } } }, "localname": "RevenueFromDisposablesAndServices", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "monetaryItemType" }, "irmd_ShipmentsInTransit": { "auth_ref": [], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_ContractWithCustomerLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized that was previously included in balance of obligation to shipments in-transit.", "label": "Shipments in-Transit", "terseLabel": "Shipments in-transit" } } }, "localname": "ShipmentsInTransit", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "irmd_SusiLLCMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents details pertaining the Susi, LLC.", "label": "Susi, LLC" } } }, "localname": "SusiLLCMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "domainItemType" }, "irmd_WinterSpringsFloridaFacilityMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the Winter Springs, Florida facility.", "label": "Winter Springs, Florida Facility" } } }, "localname": "WinterSpringsFloridaFacilityMember", "nsuri": "http://iradimed.com/20230630", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r176", "r315", "r368", "r380", "r407", "r408", "r413", "r428" ], "lang": { "en-us": { "role": { "label": "Products and Services [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r176", "r315", "r368", "r380", "r407", "r408", "r413", "r428" ], "lang": { "en-us": { "role": { "label": "Products and Services [Domain]" } } }, "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r177", "r178", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r369", "r381", "r413" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails", "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r177", "r178", "r346", "r351", "r352", "r353", "r354", "r355", "r356", "r357", "r358", "r359", "r369", "r381", "r413" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails", "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AOCIAttributableToParentNetOfTaxRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax [Roll Forward]", "terseLabel": "Component of accumulated other comprehensive income related to unrealized gains and (losses)" } } }, "localname": "AOCIAttributableToParentNetOfTaxRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r12", "r379" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Accounts Payable, Current", "terseLabel": "Accounts payable" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r180", "r181" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.", "label": "Accounts Receivable, Net, Current", "terseLabel": "Accounts receivable, net of allowance for doubtful accounts of $331,403 as of June 30, 2023, and $160,498 as of December 31, 2022" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccrualForTaxesOtherThanIncomeTaxesCurrent": { "auth_ref": [ "r14", "r77", "r363" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for real and property taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrual for Taxes Other than Income Taxes, Current", "terseLabel": "Other accrued taxes" } } }, "localname": "AccrualForTaxesOtherThanIncomeTaxesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r60", "r105" ], "calculation": { "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails": { "order": 2.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.", "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Accumulated depreciation" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r18", "r20", "r21", "r109", "r335", "r344", "r345" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated change in equity from transactions and other events and circumstances from non-owner sources, net of tax effect, at period end. Excludes Net Income (Loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners. Includes foreign currency translation items, certain pension adjustments, unrealized gains and losses on certain investments in debt and equity securities, other than temporary impairment (OTTI) losses related to factors other than credit losses on available-for-sale and held-to-maturity debt securities that an entity does not intend to sell and it is not more likely than not that the entity will be required to sell before recovery of the amortized cost basis, as well as changes in the fair value of derivatives related to the effective portion of a designated cash flow hedge.", "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "periodEndLabel": "Balance at the end", "periodStartLabel": "Balance at the beginning", "terseLabel": "Accumulated other comprehensive income" } } }, "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeDetails", "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "auth_ref": [ "r17", "r21", "r83", "r311", "r340", "r341", "r394", "r395", "r396", "r399", "r400", "r401" ], "lang": { "en-us": { "role": { "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners.", "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income" } } }, "localname": "AccumulatedOtherComprehensiveIncomeMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r4", "r379" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional Paid in Capital", "terseLabel": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r262", "r263", "r264", "r399", "r400", "r401", "r416" ], "lang": { "en-us": { "role": { "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders.", "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-In Capital" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "auth_ref": [ "r75", "r76", "r227" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.", "label": "Adjustments to Additional Paid in Capital, Share-based Compensation, Requisite Service Period Recognition", "verboseLabel": "Stock-based compensation expense" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r257" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Allocated Share-based Compensation Expense", "terseLabel": "Total stock-based compensation expense" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": { "auth_ref": [ "r110", "r182", "r185" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current.", "label": "Allowance for Doubtful Accounts Receivable, Current", "terseLabel": "Accounts receivable, net of allowance for doubtful accounts" } } }, "localname": "AllowanceForDoubtfulAccountsReceivableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheetsParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r40", "r52", "r56" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense charged against earnings to allocate the cost of intangible assets (nonphysical assets not used in production) in a systematic and rational manner to the periods expected to benefit from such assets. As a noncash expense, this element is added back to net income when calculating cash provided by or used in operations using the indirect method.", "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense of intangible assets" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r156" ], "lang": { "en-us": { "role": { "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.", "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share, Amount", "terseLabel": "Anti-dilutive stock options and restricted stock units" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_AreaOfLand": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Area of land held.", "label": "Area of Land", "terseLabel": "Purchase of land" } } }, "localname": "AreaOfLand", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetLandAcquisitionDetails" ], "xbrltype": "areaItemType" }, "us-gaap_Assets": { "auth_ref": [ "r87", "r92", "r108", "r130", "r167", "r170", "r174", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r283", "r287", "r293", "r379", "r410", "r411", "r425" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets", "totalLabel": "Total assets" } } }, "localname": "Assets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r101", "r112", "r130", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r283", "r287", "r293", "r379", "r410", "r411", "r425" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.", "label": "Assets, Current", "totalLabel": "Total current assets" } } }, "localname": "AssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256" ], "lang": { "en-us": { "role": { "documentation": "Information by type of award under share-based payment arrangement.", "label": "Award Type [Axis]" } } }, "localname": "AwardTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": { "auth_ref": [ "r0", "r45", "r47" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Business Description and Basis of Presentation [Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CapitalizedContractCostNet": { "auth_ref": [ "r189" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after accumulated amortization and accumulated impairment loss, of asset recognized from cost incurred to obtain or fulfill contract with customer.", "label": "Capitalized Contract Cost, Net", "terseLabel": "Capitalized contract costs" } } }, "localname": "CapitalizedContractCostNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionCapitalizedContractCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r42", "r103", "r360" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.", "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "auth_ref": [ "r37", "r42", "r44" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "periodEndLabel": "Cash and cash equivalents, end of period", "periodStartLabel": "Cash and cash equivalents, beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r37", "r85" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.", "label": "Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net decrease in cash and cash equivalents" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInContractWithCustomerLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Change in Contract with Customer, Liability [Abstract]", "terseLabel": "Changes in contract liabilities" } } }, "localname": "ChangeInContractWithCustomerLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r63", "r197", "r198", "r347", "r409" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureCommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r399", "r400", "r416" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r3" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r3" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws.", "label": "Common stock, shares authorized", "terseLabel": "Common stock, shares authorized" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r3" ], "lang": { "en-us": { "role": { "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.", "label": "Common Stock, Shares, Issued", "terseLabel": "Common stock, shares issued" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r3", "r379" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common Stock, Value, Issued", "terseLabel": "Common stock; $0.0001 par value; 31,500,000 shares authorized; 12,594,576 shares issued and outstanding as of June 30, 2023, and 12,591,004 shares issued and outstanding as of December 31, 2022" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTax": { "auth_ref": [ "r23", "r116", "r118", "r124", "r331", "r337" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.", "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income" } } }, "localname": "ComprehensiveIncomeNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income", "verboseLabel": "Other comprehensive (loss) income:" } } }, "localname": "ComprehensiveIncomeNetOfTaxAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome" ], "xbrltype": "stringItemType" }, "us-gaap_ComprehensiveIncomeNoteTextBlock": { "auth_ref": [ "r32", "r123", "r330", "r336" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for comprehensive income, which includes, but is not limited to, 1) the amount of income tax expense or benefit allocated to each component of other comprehensive income, including reclassification adjustments, 2) the reclassification adjustments for each classification of other comprehensive income and 3) the ending accumulated balances for each component of comprehensive income.", "label": "Comprehensive Income (Loss) Note [Text Block]", "terseLabel": "Accumulated Other Comprehensive Income" } } }, "localname": "ComprehensiveIncomeNoteTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncome" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r91", "r162" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Certain Significant Risks and Uncertainties" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Deferred Revenue" } } }, "localname": "ContractWithCustomerAssetAndLiabilityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": { "auth_ref": [ "r412" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.", "label": "Contract with Customer, Asset and Liability [Table Text Block]", "terseLabel": "Schedule of contract liabilities and changes in the contract liabilities" } } }, "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ContractWithCustomerLiability": { "auth_ref": [ "r210", "r211", "r222" ], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Contract With Customer Liability", "periodEndLabel": "Contract liabilities, ending balance", "periodStartLabel": "Contract liabilities, beginning balance", "totalLabel": "Total" } } }, "localname": "ContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r210", "r211", "r222" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Current", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r210", "r211", "r222" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.", "label": "Contract with Customer, Liability, Noncurrent", "terseLabel": "Deferred revenue" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfRevenue": { "auth_ref": [ "r29", "r130", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r293", "r410" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period.", "label": "Cost of Revenue", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfRevenue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing cost of sales.", "label": "Cost of Sales [Member]", "terseLabel": "Cost of revenue" } } }, "localname": "CostOfSalesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails", "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DebtSecuritiesAvailableForSaleRealizedGainLoss": { "auth_ref": [ "r404" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of realized gain (loss) on investment in debt security measured at fair value with change in fair value recognized in other comprehensive income (available-for-sale).", "label": "Debt Securities, Available-for-sale, Realized Gain (Loss)", "negatedLabel": "Loss on maturities of investments" } } }, "localname": "DebtSecuritiesAvailableForSaleRealizedGainLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r266", "r267" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.", "label": "Deferred Income Tax Assets, Net", "terseLabel": "Deferred tax asset, net" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationAndAmortization": { "auth_ref": [ "r40", "r58" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Depreciation, Depletion and Amortization, Nonproduction", "terseLabel": "Depreciation and amortization expense of property and equipment" } } }, "localname": "DepreciationAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r40", "r165" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 4.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets.", "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DisaggregationOfRevenueLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue", "verboseLabel": "Contract Liabilities" } } }, "localname": "DisaggregationOfRevenueLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails", "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTable": { "auth_ref": [ "r221", "r368", "r369", "r370", "r371", "r372", "r373", "r374" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table]" } } }, "localname": "DisaggregationOfRevenueTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails", "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r413" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.", "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of disaggregation of revenue by geographic region and revenue type" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock": { "auth_ref": [ "r230", "r258", "r259", "r261", "r265", "r375" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for share-based payment arrangement.", "label": "Disclosure of Compensation Related Costs, Share-based Payments [Text Block]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensation" ], "xbrltype": "textBlockItemType" }, "us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "localname": "DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DividendsCommonStockCash": { "auth_ref": [ "r68" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash.", "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividends paid" } } }, "localname": "DividendsCommonStockCash", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Basic and Diluted Net Income per Share", "terseLabel": "Basic and Diluted Net Income Per Share" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r125", "r138", "r139", "r140", "r141", "r142", "r146", "r148", "r153", "r154", "r155", "r159", "r290", "r291", "r332", "r338", "r364" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.", "label": "Earnings Per Share, Basic", "terseLabel": "Basic net income per share (in dollars per share)", "verboseLabel": "Basic" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails", "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic [Abstract]", "terseLabel": "Net income per share:" } } }, "localname": "EarningsPerShareBasicAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r125", "r138", "r139", "r140", "r141", "r142", "r148", "r153", "r154", "r155", "r159", "r290", "r291", "r332", "r338", "r364" ], "lang": { "en-us": { "role": { "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.", "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted net income per share (in dollars per share)", "verboseLabel": "Diluted" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails", "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareTextBlock": { "auth_ref": [ "r156", "r157", "r158", "r160" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for earnings per share.", "label": "Earnings Per Share [Text Block]", "terseLabel": "Basic and Diluted Net Income per Share" } } }, "localname": "EarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShare" ], "xbrltype": "textBlockItemType" }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "auth_ref": [ "r269" ], "lang": { "en-us": { "role": { "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective rate (as a percent)" } } }, "localname": "EffectiveIncomeTaxRateContinuingOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIncomeTaxesDetails" ], "xbrltype": "percentItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r14" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of the carrying values as of the balance sheet date of obligations incurred through that date and payable for obligations related to services received from employees, such as accrued salaries and bonuses, payroll taxes and fringe benefits. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee-related Liabilities, Current", "terseLabel": "Accrued payroll and benefits" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Compensation Cost [Line Items]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "auth_ref": [ "r260" ], "lang": { "en-us": { "role": { "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.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Weighted-average period of unrecognized compensation cost expected to be recognized" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "durationItemType" }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "auth_ref": [ "r415" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options.", "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options", "terseLabel": "Unrecognized compensation cost for unvested award" } } }, "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EmployeeStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Options", "verboseLabel": "Stock Options" } } }, "localname": "EmployeeStockOptionMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r67", "r99", "r119", "r120", "r121", "r133", "r134", "r135", "r137", "r143", "r145", "r161", "r184", "r209", "r262", "r263", "r264", "r273", "r274", "r289", "r294", "r295", "r296", "r297", "r298", "r300", "r311", "r340", "r341", "r342" ], "lang": { "en-us": { "role": { "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc.", "label": "Equity Component [Domain]" } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_ExtendedProductWarrantyAccrual": { "auth_ref": [ "r66" ], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_ContractWithCustomerLiability", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount as of the balance sheet date of the aggregate extended product warranty liability. Does not include the ending balance for the standard product warranty liability.", "label": "Extended Product Warranty Accrual", "terseLabel": "Extended warranty agreements" } } }, "localname": "ExtendedProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionContractLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FairValueDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_FairValueDisclosuresTextBlock": { "auth_ref": [ "r292" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.", "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements" } } }, "localname": "FairValueDisclosuresTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureFairValueMeasurements" ], "xbrltype": "textBlockItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r106", "r192" ], "calculation": { "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails": { "order": 1.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "auth_ref": [ "r57" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2024" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year.", "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "Six months ended December 31, 2023" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "auth_ref": [ "r57" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2028" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "auth_ref": [ "r57" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2027" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "auth_ref": [ "r57" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2026" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "auth_ref": [ "r57" ], "crdr": "debit", "lang": { "en-us": { "role": { "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).", "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2025" } } }, "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r190", "r191", "r192", "r193", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Information by major type or class of finite-lived intangible assets.", "label": "Finite-Lived Intangible Assets by Major Class [Axis]" } } }, "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Expected annual amortization expense" } } }, "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r55", "r317" ], "calculation": { "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails": { "order": 2.0, "parentTag": "us-gaap_FiniteLivedIntangibleAssetsNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Intangible Assets, gross" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Intangible Assets, net" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r53", "r54" ], "lang": { "en-us": { "role": { "documentation": "The major class of finite-lived intangible asset (for example, patents, trademarks, copyrights, etc.) A major class is composed of intangible assets that can be grouped together because they are similar, either by their nature or by their use in the operations of a company.", "label": "Finite-Lived Intangible Assets, Major Class Name [Domain]" } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_FiniteLivedIntangibleAssetsNet": { "auth_ref": [ "r55", "r316" ], "calculation": { "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Finite-Lived Intangible Assets, Net", "terseLabel": "Intangible assets, net", "totalLabel": "Total" } } }, "localname": "FiniteLivedIntangibleAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails", "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_FurnitureAndFixturesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Equipment commonly used in offices and stores that have no permanent connection to the structure of a building or utilities. Examples include, but are not limited to, desks, chairs, tables, and bookcases.", "label": "Furniture And Fixtures [Member]", "terseLabel": "Furniture and fixtures" } } }, "localname": "FurnitureAndFixturesMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "auth_ref": [ "r40" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property.", "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "(Gain) on disposal of property and equipment" } } }, "localname": "GainLossOnSaleOfPropertyPlantEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r30" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.", "label": "General and Administrative Expense", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeneralAndAdministrativeExpenseMember": { "auth_ref": [ "r27" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing general and administrative expense.", "label": "General and administrative", "terseLabel": "General and administrative" } } }, "localname": "GeneralAndAdministrativeExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails", "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Intangible Assets, net" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r28", "r130", "r167", "r169", "r173", "r175", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r293", "r366", "r410" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.", "label": "Gross Profit", "totalLabel": "Gross profit" } } }, "localname": "GrossProfit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r25", "r86", "r89", "r97", "r167", "r169", "r173", "r175", "r333", "r366" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.", "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED STATEMENTS OF OPERATIONS" } } }, "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r195", "r196" ], "lang": { "en-us": { "role": { "documentation": "Information by location in the income statement.", "label": "Income Statement Location [Axis]" } } }, "localname": "IncomeStatementLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails", "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r196" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement.", "label": "Income Statement Location [Domain]" } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails", "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeTaxDisclosureTextBlock": { "auth_ref": [ "r131", "r270", "r271", "r272", "r275", "r277", "r279", "r280", "r281" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.", "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes" } } }, "localname": "IncomeTaxDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIncomeTaxes" ], "xbrltype": "textBlockItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r132", "r144", "r145", "r166", "r268", "r276", "r278", "r339" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.", "label": "Income Tax Expense (Benefit)", "verboseLabel": "Provision for income tax expense" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIncomeTaxesDetails", "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r43" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes.", "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 14.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable" } } }, "localname": "IncreaseDecreaseInAccountsPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 8.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.", "label": "Increase (Decrease) in Accounts Receivable", "negatedLabel": "Accounts receivable" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccruedIncomeTaxesPayable": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 19.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in the amount due for taxes based on the reporting entity's earnings or attributable to the entity's income earning process (business presence) within a given jurisdiction.", "label": "Increase (Decrease) in Income Taxes Payable", "terseLabel": "Prepaid income taxes" } } }, "localname": "IncreaseDecreaseInAccruedIncomeTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r314", "r397" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 18.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation to transfer good or service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the account that represents the temporary difference that results from Income or Loss that is recognized for accounting purposes but not for tax purposes and vice versa.", "label": "Increase (Decrease) in Deferred Income Taxes", "negatedLabel": "Deferred income taxes, net" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInEmployeeRelatedLiabilities": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 15.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Increase (Decrease) in Employee Related Liabilities", "terseLabel": "Accrued payroll and benefits" } } }, "localname": "IncreaseDecreaseInEmployeeRelatedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 9.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.", "label": "Increase (Decrease) in Inventories", "negatedLabel": "Inventory" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOtherCurrentLiabilities": { "auth_ref": [ "r397" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in current liabilities classified as other.", "label": "Increase (Decrease) in Other Current Liabilities", "terseLabel": "Other current liabilities" } } }, "localname": "IncreaseDecreaseInOtherCurrentLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating assets classified as other.", "label": "Increase (Decrease) in Other Operating Assets", "negatedLabel": "Other assets" } } }, "localname": "IncreaseDecreaseInOtherOperatingAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 10.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in prepaid expenses, and assets classified as other.", "label": "Increase (Decrease) in Prepaid Expense and Other Assets", "negatedLabel": "Prepaid expenses and other current assets" } } }, "localname": "IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPropertyAndOtherTaxesPayable": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 16.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the period in the amount of cash payments due to taxing authorities for non-income-related taxes.", "label": "Increase (Decrease) in Property and Other Taxes Payable", "terseLabel": "Other accrued taxes" } } }, "localname": "IncreaseDecreaseInPropertyAndOtherTaxesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Increase (Decrease) in Stockholders' Equity", "terseLabel": "Increase (Decrease) in Stockholders' Equity" } } }, "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "auth_ref": [ "r149", "r150", "r151", "r155", "r229" ], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.", "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements", "terseLabel": "Stock options" } } }, "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r194" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Assets Disclosure [Text Block]", "terseLabel": "Intangible Assets, net" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryAdjustments": { "auth_ref": [ "r51", "r392" ], "calculation": { "http://iradimed.com/role/DisclosureInventoryNetDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of inventory reserves for last-in first-out (LIFO) and other inventory valuation methods.", "label": "Inventory Adjustments", "negatedLabel": "Allowance for excess and obsolete" } } }, "localname": "InventoryAdjustments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory, net." } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r188" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.", "label": "Inventory Disclosure [Text Block]", "terseLabel": "Inventory, net" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryFinishedGoods": { "auth_ref": [ "r389" ], "calculation": { "http://iradimed.com/role/DisclosureInventoryNetDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of completed merchandise or goods expected to be sold within one year or operating cycle, if longer.", "label": "Inventory, Finished Goods, Gross", "terseLabel": "Finished goods" } } }, "localname": "InventoryFinishedGoods", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryGross": { "auth_ref": [ "r392" ], "calculation": { "http://iradimed.com/role/DisclosureInventoryNetDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Gross amount, as of the balance sheet date, of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Inventory, Gross", "totalLabel": "Inventory before allowance for excess and obsolete" } } }, "localname": "InventoryGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r111", "r361", "r379" ], "calculation": { "http://iradimed.com/role/DisclosureInventoryNetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Net", "terseLabel": "Inventory, net", "totalLabel": "Total" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNetDetails", "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryRawMaterials": { "auth_ref": [ "r391" ], "calculation": { "http://iradimed.com/role/DisclosureInventoryNetDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of raw materials expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, Raw Materials, Gross", "terseLabel": "Raw materials" } } }, "localname": "InventoryRawMaterials", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcess": { "auth_ref": [ "r390" ], "calculation": { "http://iradimed.com/role/DisclosureInventoryNetDetails": { "order": 3.0, "parentTag": "us-gaap_InventoryGross", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before valuation and LIFO reserves of merchandise or goods in the production process expected to be completed within one year or operating cycle, if longer.", "label": "Inventory, Work in Process, Gross", "terseLabel": "Work in process" } } }, "localname": "InventoryWorkInProcess", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWriteDown": { "auth_ref": [ "r187" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of loss from reductions in inventory due to subsequent measurement adjustments, including, but not limited to, physical deterioration, obsolescence, or changes in price levels.", "label": "Inventory Write-down", "terseLabel": "Change in provision for excess and obsolete inventory" } } }, "localname": "InventoryWriteDown", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandMember": { "auth_ref": [ "r414" ], "lang": { "en-us": { "role": { "documentation": "Part of earth's surface not covered by water.", "label": "Land [Member]", "terseLabel": "Land" } } }, "localname": "LandMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseCostTableTextBlock": { "auth_ref": [ "r422" ], "lang": { "en-us": { "role": { "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.", "label": "Lease, Cost [Table Text Block]", "terseLabel": "Schedule of operating lease cost" } } }, "localname": "LeaseCostTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r59" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]", "terseLabel": "Leasehold improvements" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Lessee, Lease, Description [Line Items]", "terseLabel": "Leases" } } }, "localname": "LesseeLeaseDescriptionLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails", "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeLeaseDescriptionTable": { "auth_ref": [ "r305" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about lessee's leases.", "label": "Lessee, Lease, Description [Table]" } } }, "localname": "LesseeLeaseDescriptionTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails", "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LesseeOperatingLeaseExistenceOfResidualValueGuarantee": { "auth_ref": [ "r304" ], "lang": { "en-us": { "role": { "documentation": "Indicates (true false) whether lessee provided residual value guarantee for operating lease.", "label": "Lessee, Operating Lease, Existence of Residual Value Guarantee [true false]", "terseLabel": "Lessee, operating lease, existence of residual value guarantee" } } }, "localname": "LesseeOperatingLeaseExistenceOfResidualValueGuarantee", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "booleanItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r423" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Schedule of maturity of operating lease liability" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r309" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfLeaseLiabilitiesDetailsCalc2": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease.", "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r309" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "auth_ref": [ "r309" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 6.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "Thereafter" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "auth_ref": [ "r309" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 5.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2027" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "auth_ref": [ "r309" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 4.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2026" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r309" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 3.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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).", "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2025" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r423" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Lease, Liability, to be Paid, Remainder of Fiscal Year", "terseLabel": "Six months ended December 31, 2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r309" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfLeaseLiabilitiesDetailsCalc2": { "order": 1.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.", "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseRemainingLeaseTerm": { "auth_ref": [ "r420" ], "lang": { "en-us": { "role": { "documentation": "Remaining lease term of operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee Operating Lease Remaining Lease Term", "terseLabel": "Remaining lease term (in years)" } } }, "localname": "LesseeOperatingLeaseRemainingLeaseTerm", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeaseTermOfContract": { "auth_ref": [ "r421" ], "lang": { "en-us": { "role": { "documentation": "Term of lessee's operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Lessee, Operating Lease, Term of Contract", "terseLabel": "Non-cancelable operating lease term" } } }, "localname": "LesseeOperatingLeaseTermOfContract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "durationItemType" }, "us-gaap_LesseeOperatingLeasesTextBlock": { "auth_ref": [ "r310" ], "lang": { "en-us": { "role": { "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.", "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases" } } }, "localname": "LesseeOperatingLeasesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeases" ], "xbrltype": "textBlockItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r13", "r130", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r284", "r287", "r288", "r293", "r365", "r410", "r425", "r426" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.", "label": "Liabilities", "totalLabel": "Total liabilities" } } }, "localname": "Liabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r8", "r88", "r94", "r379", "r398", "r405", "r417" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r15", "r102", "r130", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r284", "r287", "r288", "r293", "r379", "r410", "r425", "r426" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 1.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.", "label": "Liabilities, Current", "totalLabel": "Total current liabilities" } } }, "localname": "LiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LongLivedAssetsByGeographicAreasTableTextBlock": { "auth_ref": [ "r48" ], "lang": { "en-us": { "role": { "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.", "label": "Long-lived Assets by Geographic Areas [Table Text Block]", "terseLabel": "Schedule of property and equipment, net, information by geographic region" } } }, "localname": "LongLivedAssetsByGeographicAreasTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LossContingencyAccrualAtCarryingValue": { "auth_ref": [ "r199", "r388" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of loss contingency liability.", "label": "Loss Contingency Accrual", "terseLabel": "Legal matters accrued" } } }, "localname": "LossContingencyAccrualAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_MachineryAndEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tangible personal property used to produce goods and services, including, but is not limited to, tools, dies and molds, computer and office equipment.", "label": "Machinery and Equipment [Member]", "terseLabel": "Machinery and equipment" } } }, "localname": "MachineryAndEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r129" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.", "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r129" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.", "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash used in investing activities" } } }, "localname": "NetCashProvidedByUsedInInvestingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r37", "r38", "r41" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0 } }, "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.", "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash provided by operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r26", "r41", "r90", "r96", "r100", "r114", "r117", "r121", "r130", "r136", "r138", "r139", "r140", "r141", "r144", "r145", "r152", "r167", "r169", "r173", "r175", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r291", "r293", "r366", "r410" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 }, "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.", "label": "Net Income (Loss) Attributable to Parent", "terseLabel": "Net income", "totalLabel": "Net income" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails", "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome", "http://iradimed.com/role/StatementCondensedStatementsOfOperations", "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.", "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recent Accounting Pronouncements" } } }, "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasisOfPresentationPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r31" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).", "label": "Nonoperating Income (Expense)", "terseLabel": "Other income, net" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NumberOfReportableSegments": { "auth_ref": [ "r403" ], "lang": { "en-us": { "role": { "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.", "label": "Number of Reportable Segments" } } }, "localname": "NumberOfReportableSegments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasisOfPresentationDetails" ], "xbrltype": "integerItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.", "label": "Operating Expenses", "totalLabel": "Total operating expenses" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Expenses [Abstract]", "terseLabel": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r167", "r169", "r173", "r175", "r366" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The net result for the period of deducting operating expenses from operating revenues.", "label": "Operating Income (Loss)", "totalLabel": "Income from operations" } } }, "localname": "OperatingIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseCost": { "auth_ref": [ "r306", "r378" ], "crdr": "debit", "lang": { "en-us": { "role": { "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.", "label": "Operating Lease cost", "terseLabel": "Operating lease cost" } } }, "localname": "OperatingLeaseCost", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Operating leases" } } }, "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r302" ], "calculation": { "http://iradimed.com/role/DisclosureLeasesMaturityOfLeaseLiabilitiesDetailsCalc2": { "order": 2.0, "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "verboseLabel": "Present value of lease liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesMaturityOfOperatingLeaseLiabilityDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r302" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.", "label": "Operating Lease, Liability, Current", "terseLabel": "Current portion of operating lease liabilities" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r302" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.", "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Operating lease liabilities, less current portion" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeasePayments": { "auth_ref": [ "r303", "r307" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.", "label": "Operating Lease, Payments", "verboseLabel": "Operating lease paid" } } }, "localname": "OperatingLeasePayments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r301" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of lessee's right to use underlying asset under operating lease.", "label": "Operating Lease, Right-of-Use Asset", "terseLabel": "Operating lease right-of-use asset" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Basis of Presentation" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock": { "auth_ref": [ "r0", "r45", "r47", "r84" ], "lang": { "en-us": { "role": { "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.", "label": "Organization, Consolidation and Presentation of Financial Statements Disclosure and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation" } } }, "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureAndSignificantAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasisOfPresentation" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r107" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 6.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other Assets, Noncurrent", "terseLabel": "Other assets" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r80", "r81", "r82" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome": { "order": 2.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities Adjustment, Net of Tax, Portion Attributable to Parent", "terseLabel": "Change in fair value of available-for-sale securities, net of tax expense (benefit) of $0 and $3,532, respectively", "verboseLabel": "(Gain) Loss on available-for-sale securities, net" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeDetails", "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent": { "auth_ref": [ "r80", "r81", "r82" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit), after reclassification adjustments, of appreciation (loss) in value of unsold available-for-sale securities, attributable to parent entity. Excludes amounts related to other than temporary impairment (OTTI) loss.", "label": "Other Comprehensive Income (Loss), Available-for-sale Securities, Tax, Portion Attributable to Parent", "terseLabel": "Change in fair value of available-for-sale securities, net of tax expense (benefit)" } } }, "localname": "OtherComprehensiveIncomeAvailableforsaleSecuritiesTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTax": { "auth_ref": [ "r24", "r67", "r115", "r118", "r123", "r294", "r299", "r300", "r330", "r336", "r394", "r395" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax and reclassification adjustments of other comprehensive income (loss).", "label": "Other Comprehensive Income (Loss), Net of Tax", "verboseLabel": "Other comprehensive loss" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent": { "auth_ref": [ "r80", "r81", "r82", "r115", "r118" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of other comprehensive income (loss) attributable to parent entity.", "label": "Other Comprehensive Income (Loss), Net of Tax, Portion Attributable to Parent", "totalLabel": "Other comprehensive loss" } } }, "localname": "OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax": { "auth_ref": [ "r18", "r22", "r50", "r113" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome": { "order": 1.0, "parentTag": "us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Net of Tax", "negatedLabel": "Realized gain on available-for-sale securities reclassified to net income, net of tax expense of $0,000 and $0,000 respectively" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncome" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax": { "auth_ref": [ "r19", "r50" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of tax expense (benefit) of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.", "label": "Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI for Sale of Securities, Tax", "terseLabel": "Realized gain on available-for-sale securities reclassified to net income, net of tax expense" } } }, "localname": "OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfComprehensiveIncomeParenthetical" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesCurrent": { "auth_ref": [ "r14", "r379" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 7.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due within one year or the normal operating cycle, if longer.", "label": "Other Liabilities, Current", "terseLabel": "Other current liabilities" } } }, "localname": "OtherLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsOfDividends": { "auth_ref": [ "r36" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Cash outflow in the form of capital distributions and dividends to common shareholders, preferred shareholders and noncontrolling interests.", "label": "Payments of Dividends", "negatedLabel": "Dividends paid" } } }, "localname": "PaymentsOfDividends", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "auth_ref": [ "r127" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.", "label": "Payments Related to Tax Withholding for Share-based Compensation", "negatedLabel": "Taxes paid related to the net share settlement of equity awards" } } }, "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireLand": { "auth_ref": [ "r34" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow from the acquisition of real estate intended to generate income for the owner; excludes land acquired for use by the owner.", "label": "Payments to Acquire Land", "terseLabel": "Total purchase price of the property" } } }, "localname": "PaymentsToAcquireLand", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetLandAcquisitionDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireOtherProductiveAssets": { "auth_ref": [ "r34" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash outflow for the purchase of or improvements to tangible or intangible assets, used to produce goods or deliver services, classified as other.", "label": "Payments to Acquire Other Productive Assets", "negatedLabel": "Capitalized intangible assets" } } }, "localname": "PaymentsToAcquireOtherProductiveAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r34" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.", "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchases of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r393" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.", "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidTaxes": { "auth_ref": [ "r362", "r367", "r406" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.", "label": "Prepaid Taxes", "terseLabel": "Prepaid income taxes" } } }, "localname": "PrepaidTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments": { "auth_ref": [ "r33" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The cash inflow associated with the sale, maturity and collection of all investments such as debt, security and so forth during the period.", "label": "Proceeds from Sale, Maturity and Collection of Investments", "terseLabel": "Proceeds from maturities of investments" } } }, "localname": "ProceedsFromSaleMaturityAndCollectionsOfInvestments", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r35", "r73" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow from exercise of option under share-based payment arrangement.", "label": "Proceeds from Stock Options Exercised", "terseLabel": "Proceeds from exercises of stock options" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r14", "r64", "r65" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 5.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable for estimated claims under standard and extended warranty protection rights granted to customers. For classified balance sheets, represents the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Product Warranty Accrual, Current", "terseLabel": "Warranty reserve" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProfitLoss": { "auth_ref": [ "r100", "r114", "r117", "r128", "r130", "r136", "r144", "r145", "r167", "r169", "r173", "r175", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r282", "r285", "r286", "r291", "r293", "r333", "r366", "r376", "r377", "r396", "r410" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest.", "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "verboseLabel": "Net income" } } }, "localname": "ProfitLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property and Equipment, net", "verboseLabel": "Property and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Property, Plant and Equipment, Type [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails", "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r62", "r348", "r349", "r350" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections.", "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property and Equipment, net" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNet" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r59", "r104" ], "calculation": { "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails": { "order": 1.0, "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Gross", "terseLabel": "Property and equipment, gross" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails", "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r61", "r95", "r334", "r379" ], "calculation": { "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails": { "order": null, "parentTag": null, "root": true, "weight": null }, "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Assets", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "Total", "verboseLabel": "Total property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails", "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails", "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Schedule of property and equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r59" ], "lang": { "en-us": { "role": { "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software.", "label": "Property, Plant and Equipment, Type [Domain]" } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails", "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ProvisionForDoubtfulAccounts": { "auth_ref": [ "r126", "r186" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 2.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense (reversal of expense) for expected credit loss on accounts receivable.", "label": "Provision for Doubtful Accounts", "verboseLabel": "Change in allowance for doubtful accounts" } } }, "localname": "ProvisionForDoubtfulAccounts", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PurchaseObligation": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier.", "label": "Purchase Obligation", "terseLabel": "Purchase commitments" } } }, "localname": "PurchaseObligation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureCommitmentsAndContingenciesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent": { "auth_ref": [ "r21", "r24" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after tax of reclassification adjustments of other comprehensive income (loss) attributable to parent.", "label": "Reclassification from Accumulated Other Comprehensive Income, Current Period, Net of Tax", "negatedLabel": "Reclassification realized in net earnings" } } }, "localname": "ReclassificationFromAociCurrentPeriodNetOfTaxAttributableToParent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RelatedPartyDomain": { "auth_ref": [ "r225", "r312", "r313" ], "lang": { "en-us": { "role": { "documentation": "Related parties include affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.", "label": "Related Party [Domain]" } } }, "localname": "RelatedPartyDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionsByRelatedPartyAxis": { "auth_ref": [ "r225", "r312", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r327", "r328", "r329", "r424" ], "lang": { "en-us": { "role": { "documentation": "Information by type of related party. Related parties include, but not limited to, affiliates; other entities for which investments are accounted for by the equity method by the entity; trusts for benefit of employees; and principal owners, management, and members of immediate families. It also may include other parties with which the entity may control or can significantly influence the management or operating policies of the other to an extent that one of the transacting parties might be prevented from fully pursuing its own separate interests.", "label": "Related Party [Axis]" } } }, "localname": "RelatedPartyTransactionsByRelatedPartyAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r78", "r98", "r427" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 3.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.", "label": "Research and Development Expense", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpenseMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption in which the reported facts about research and development expense have been included.", "label": "Research and development", "terseLabel": "Research and development" } } }, "localname": "ResearchAndDevelopmentExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails", "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "Restricted Stock, Shares Issued Net of Shares for Tax Withholdings", "verboseLabel": "Net share settlement of restricted stock units (in shares)" } } }, "localname": "RestrictedStockSharesIssuedNetOfSharesForTaxWithholdings", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_RestrictedStockUnitsRSUMember": { "auth_ref": [], "lang": { "en-us": { "role": { "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.", "label": "RSU", "terseLabel": "Restricted Stock Units" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RestrictedStockValueSharesIssuedNetOfTaxWithholdings": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "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.", "label": "Restricted Stock, Value, Shares Issued Net of Tax Withholdings", "terseLabel": "Net share settlement of restricted stock units" } } }, "localname": "RestrictedStockValueSharesIssuedNetOfTaxWithholdings", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r5", "r68", "r93", "r343", "r345", "r379" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r99", "r133", "r134", "r135", "r137", "r143", "r145", "r184", "r262", "r263", "r264", "r273", "r274", "r289", "r340", "r342" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenue Recognition", "terseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r163", "r164", "r168", "r171", "r172", "r176", "r177", "r179", "r220", "r221", "r315" ], "calculation": { "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Total revenue", "totalLabel": "Total revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByGeographicRegionDetails", "http://iradimed.com/role/DisclosureRevenueRecognitionInformationByTypeDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "auth_ref": [ "r212", "r213", "r214", "r215", "r216", "r217", "r218", "r219", "r223", "r224" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.", "label": "Revenue from Contract with Customer [Text Block]", "verboseLabel": "Revenue Recognition" } } }, "localname": "RevenueFromContractWithCustomerTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureRevenueRecognition" ], "xbrltype": "textBlockItemType" }, "us-gaap_Revenues": { "auth_ref": [ "r122", "r130", "r163", "r164", "r168", "r171", "r172", "r176", "r177", "r179", "r183", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r293", "r333", "r410" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of revenue recognized from goods sold, services rendered, insurance premiums, or other activities that constitute an earning process. Includes, but is not limited to, investment and interest income before deduction of interest expense when recognized as a component of revenue, and sales and trading gain (loss).", "label": "Revenues", "terseLabel": "Revenue" } } }, "localname": "Revenues", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "auth_ref": [ "r308", "r378" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability.", "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "terseLabel": "ROU asset recognized in exchange for new lease obligation" } } }, "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock": { "auth_ref": [ "r21", "r418", "r419" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accumulated other comprehensive income (loss).", "label": "Schedule of Accumulated Other Comprehensive Income (Loss) [Table Text Block]", "verboseLabel": "Schedule of component of accumulated other comprehensive income related to unrealized gains and (losses)" } } }, "localname": "ScheduleOfAccumulatedOtherComprehensiveIncomeLossTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureAccumulatedOtherComprehensiveIncomeTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock": { "auth_ref": [ "r46" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table Text Block]", "terseLabel": "Schedule of stock options and restricted stock units excluded from the calculation of diluted net income per share" } } }, "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r402" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.", "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computation of basic and diluted net income per share" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable": { "auth_ref": [ "r72", "r74" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table]" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock": { "auth_ref": [ "r72" ], "lang": { "en-us": { "role": { "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.", "label": "Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs [Table Text Block]", "terseLabel": "Schedule of stock-based compensation" } } }, "localname": "ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r53", "r54", "r316" ], "lang": { "en-us": { "role": { "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.", "label": "Schedule of Finite-Lived Intangible Assets [Table]" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "auth_ref": [ "r53", "r54" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of assets, excluding financial assets and goodwill, lacking physical substance with a finite life, by either major class or business segment.", "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Summary of the components of intangible asset balances" } } }, "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r1", "r9", "r10", "r11" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.", "label": "Schedule of Inventory, Current [Table Text Block]", "terseLabel": "Schedule of inventory" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureInventoryNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r61" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation.", "label": "Property, Plant and Equipment [Table]" } } }, "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetDetails", "http://iradimed.com/role/DisclosurePropertyAndEquipmentNetGeographicRegionDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationActivityTableTextBlock": { "auth_ref": [ "r69", "r70", "r71" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of activity for award under share-based payment arrangement. Includes, but is not limited to, outstanding award at beginning and end of year, granted, exercised, forfeited, and weighted-average grant date fair value.", "label": "Schedule of Share-based Compensation, Activity [Table Text Block]", "terseLabel": "Schedule of stock-based compensation activity" } } }, "localname": "ScheduleOfShareBasedCompensationActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r226", "r228", "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about share-based payment arrangement.", "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]" } } }, "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "auth_ref": [ "r54" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets.", "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of expected annual amortization expense related to intangible assets (excludes in process intangible assets)" } } }, "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_SellingAndMarketingExpense": { "auth_ref": [], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_OperatingExpenses", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services.", "label": "Selling and Marketing Expense", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_SellingAndMarketingExpenseMember": { "auth_ref": [ "r27" ], "lang": { "en-us": { "role": { "documentation": "Primary financial statement caption encompassing selling and marketing expense.", "label": "Sales and marketing", "terseLabel": "Sales and marketing" } } }, "localname": "SellingAndMarketingExpenseMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureLeasesOperatingLeaseCostDetails", "http://iradimed.com/role/DisclosureStockBasedCompensationDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r39" ], "calculation": { "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows": { "order": 6.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncash expense for share-based payment arrangement.", "label": "Share-based Compensation", "terseLabel": "Stock-based compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "terseLabel": "Stock-Based Compensation" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod": { "auth_ref": [ "r240" ], "lang": { "en-us": { "role": { "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.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Forfeitures in Period", "negatedLabel": "Awards canceled/ forfeited (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r238" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross", "terseLabel": "Awards granted (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r234", "r235" ], "lang": { "en-us": { "role": { "documentation": "Number of options outstanding, including both vested and non-vested options.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number", "periodEndLabel": "Outstanding end of period (in shares)", "periodStartLabel": "Outstanding beginning of period (in shares)" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding [Roll Forward]", "terseLabel": "Stock Options" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r231", "r232", "r233", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement.", "label": "Equity Award [Domain]" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails" ], "xbrltype": "domainItemType" }, "us-gaap_SharesOutstanding": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of shares issued which are neither cancelled nor held in the treasury.", "label": "Shares, Outstanding", "periodEndLabel": "Ending balances (in shares)", "periodStartLabel": "Beginning balances (in shares)" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r16", "r67", "r99", "r119", "r120", "r121", "r133", "r134", "r135", "r137", "r143", "r145", "r161", "r184", "r209", "r262", "r263", "r264", "r273", "r274", "r289", "r294", "r295", "r296", "r297", "r298", "r300", "r311", "r340", "r341", "r342" ], "lang": { "en-us": { "role": { "documentation": "Information by component of equity.", "label": "Equity Components [Axis]" } } }, "localname": "StatementEquityComponentsAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.", "label": "Statement [Line Items]", "verboseLabel": "Statement" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED STATEMENTS OF CASH FLOWS" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED BALANCE SHEETS" } } }, "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "CONDENSED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r133", "r134", "r135", "r161", "r315" ], "lang": { "en-us": { "role": { "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed.", "label": "Statement [Table]" } } }, "localname": "StatementTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r2", "r3", "r67", "r68", "r239" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period", "negatedLabel": "Awards exercised/vested (in shares)", "verboseLabel": "Exercise of stock options (in shares)" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureStockBasedCompensationStockOptionsAndRestrictedStockUnitsActivityDetails", "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r16", "r67", "r68" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock Issued During Period, Value, Stock Options Exercised", "terseLabel": "Exercise of stock options" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r3", "r6", "r7", "r49", "r379", "r398", "r405", "r417" ], "calculation": { "http://iradimed.com/role/StatementCondensedBalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balances", "periodStartLabel": "Beginning balances", "totalLabel": "Total stockholders' equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets", "http://iradimed.com/role/StatementCondensedStatementsOfStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Attributable to Parent [Abstract]", "terseLabel": "Stockholders' equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedBalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_SupplementalCashFlowInformationAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowInformationAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TrademarksMember": { "auth_ref": [ "r79" ], "lang": { "en-us": { "role": { "documentation": "Rights acquired through registration of a trademark to gain or protect exclusive use of a business name, symbol or other device or style.", "label": "Trademarks [Member]", "terseLabel": "Trademarks" } } }, "localname": "TrademarksMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureIntangibleAssetsNetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Incremental Weighted Average Shares Attributable to Dilutive Effect [Abstract]", "terseLabel": "Effect of dilutive securities:" } } }, "localname": "WeightedAverageNumberDilutedSharesOutstandingAdjustmentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r147", "r155" ], "lang": { "en-us": { "role": { "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.", "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Weighted-average shares outstanding - Diluted (in shares)", "verboseLabel": "Diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails", "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average shares outstanding:" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r146", "r155" ], "lang": { "en-us": { "role": { "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.", "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Weighted-average shares outstanding - Basic", "verboseLabel": "Basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://iradimed.com/role/DisclosureBasicAndDilutedNetIncomePerShareDetails", "http://iradimed.com/role/StatementCondensedStatementsOfOperations" ], "xbrltype": "sharesItemType" } }, "unitCount": 7 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "205", "URI": "https://asc.fasb.org/topic&trid=2122149", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=6361739&loc=d3e7789-107766", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r100": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r101": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r102": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6904-107765", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r103": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r104": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(13))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r105": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(14))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r106": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r107": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(17))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r108": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(18))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r11": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(c))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r112": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r113": { "Name": "Accounting Standards Codification", "Paragraph": "17A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL34724391-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r114": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r115": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r116": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669619-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r117": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r118": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669625-108580", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r119": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r12": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r121": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(1))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(21))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(24))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(25))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(5))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r127": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3000-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r13": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19-26)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h)(2))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(h))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r137": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(3)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22499-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22694-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22583-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22595-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22644-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r144": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22658-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r145": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124431687&loc=d3e22663-107794", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r146": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1448-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r147": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1505-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r148": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1252-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r149": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1707-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r15": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.21)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r150": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1757-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r151": { "Name": "Accounting Standards Codification", "Paragraph": "28A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1500-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r152": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r153": { "Name": "Accounting Standards Codification", "Paragraph": "60B", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=SL5780133-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r154": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1337-109256", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r155": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r156": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3630-109257", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r158": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=109243012&loc=SL65017193-207537", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r159": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e3842-109258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r16": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r160": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "260", "URI": "https://asc.fasb.org/topic&trid=2144383", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r161": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70191-108054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r162": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r165": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r168": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r169": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "10A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669646-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r170": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r172": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r173": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r174": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r175": { "Name": "Accounting Standards Codification", "Paragraph": "32", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8933-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r176": { "Name": "Accounting Standards Codification", "Paragraph": "40", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9031-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r177": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r178": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r179": { "Name": "Accounting Standards Codification", "Paragraph": "42", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9054-108599", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r18": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e637-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r180": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4428-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r181": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4531-111522", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r182": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=123577603&loc=d3e5074-111524", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r184": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=122640432&loc=SL121648383-210437", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r185": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255206&loc=SL82895884-210446", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r186": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124255953&loc=SL82919249-210447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r187": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4542-108314", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r188": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r189": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905575&loc=SL49131252-203054", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e640-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r190": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r192": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r193": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r194": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/subtopic&trid=2144471", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=109226691&loc=d3e2941-110230", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r196": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "420", "URI": "https://asc.fasb.org/extlink&oid=6394359&loc=d3e17939-110869", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r198": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "440", "URI": "https://asc.fasb.org/extlink&oid=123406679&loc=d3e25336-109308", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r199": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r2": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(28))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e681-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r200": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r201": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r202": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r203": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r204": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(i))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r205": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r206": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r207": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(4)(iv))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r208": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-02(a)(5))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442552-122756", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "14A", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=SL7669686-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130531-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126919976&loc=SL49130532-203044", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130554-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)(2)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130556-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130558-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r22": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e689-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130543-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130550-203045", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r224": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "606", "URI": "https://asc.fasb.org/topic&trid=49130388", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(n)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=SL116886442-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4534-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "35", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126961718&loc=d3e4549-113899", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126962052&loc=d3e4991-113900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r23": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126968391&loc=d3e557-108580", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(3)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r24": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124507222&loc=d3e1436-108581", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r240": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)(iv)(04)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(01)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(02)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)(iii)(03)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r25": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(10))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(ii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iii)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(iv)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)(2)(v)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(2)(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r26": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(20))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r260": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(l)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(f)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128097895&loc=SL121327923-165333", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r265": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "718", "URI": "https://asc.fasb.org/topic&trid=2228938", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31917-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r267": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123427490&loc=d3e31931-109318", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32672-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r269": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32687-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r27": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(4))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r270": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32705-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r271": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32809-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r272": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=121826272&loc=d3e32857-109319", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r273": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(2)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r274": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(d)(3)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=126983759&loc=SL121830611-158277", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.5.Q1)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r276": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 6.I.7)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330036-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r277": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.C)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=122134291&loc=d3e330215-122817", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r278": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=123586238&loc=d3e38679-109324", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "270", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424409&loc=d3e44925-109338", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r28": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.1,2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "740", "URI": "https://asc.fasb.org/extlink&oid=6424122&loc=d3e41874-109331", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r281": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "740", "URI": "https://asc.fasb.org/topic&trid=2144680", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=116870748&loc=SL6758485-165988", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r287": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bb)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r288": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=123419778&loc=d3e5710-111685", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r289": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r29": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r290": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(4)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r291": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r293": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r294": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32136-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r295": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r296": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(b)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r297": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r298": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Subparagraph": "(d)", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r299": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r3": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(29))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r30": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.4)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r300": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r301": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r302": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918627-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r303": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123391704&loc=SL77918643-209977", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r304": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(4)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r305": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r306": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r307": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r308": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)(2)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r309": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r31": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.7)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r310": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/subtopic&trid=77888251", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r311": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(a)(3)(iii)(03)", "Topic": "848", "URI": "https://asc.fasb.org/extlink&oid=125980421&loc=SL125981372-237846", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r312": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r313": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r314": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "45", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=126938201&loc=d3e55415-109406", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r315": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 11.L)", "Topic": "924", "URI": "https://asc.fasb.org/extlink&oid=6472922&loc=d3e499488-122856", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r316": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "926", "URI": "https://asc.fasb.org/extlink&oid=120154696&loc=d3e54445-107959", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r317": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "340", "Topic": "928", "URI": "https://asc.fasb.org/extlink&oid=6473545&loc=d3e61844-108004", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r318": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61929-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r32": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "220", "URI": "https://asc.fasb.org/topic&trid=2134417", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r320": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r321": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62059-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r322": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r323": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62395-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r324": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r325": { "Name": "Accounting Standards Codification", "Paragraph": "33", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e62479-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r326": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(a)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r327": { "Name": "Accounting Standards Codification", "Paragraph": "35A", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(b)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=SL6807758-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r328": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(1)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r329": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "235", "Subparagraph": "(c)(2)", "Topic": "932", "URI": "https://asc.fasb.org/extlink&oid=126939881&loc=d3e61872-109447", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r33": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3179-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r330": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r331": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(26))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(27))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r333": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(2))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r334": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=124429447&loc=SL124453093-239630", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r335": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r336": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(19))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r337": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(22))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(23))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(9))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r34": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3213-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(1)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(f)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(i)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(g)(2)(ii)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r345": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(h)(2)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124501264&loc=SL117420844-207641", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r346": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "310", "Subparagraph": "(SX 210.12-29(Footnote 4))", "Topic": "948", "URI": "https://asc.fasb.org/extlink&oid=120402547&loc=d3e617274-123014", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r347": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "440", "Subparagraph": "(a)", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=6491277&loc=d3e6429-115629", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Subparagraph": "(d)", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99779-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=d3e99893-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3255-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "360", "Topic": "958", "URI": "https://asc.fasb.org/extlink&oid=126982197&loc=SL120174063-112916", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r351": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column B))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r352": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column C))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r353": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column D))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r354": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column E))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r355": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column F))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r356": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column G))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r357": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column H))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r358": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Column I))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "360", "Subparagraph": "(SX 210.12-28(Footnote 2))", "Topic": "970", "URI": "https://asc.fasb.org/extlink&oid=120402810&loc=d3e638233-123024", "role": "http://www.xbrl.org/2003/role/disclosureRef" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)(4)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6676-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r363": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=124098289&loc=d3e6935-107765", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r364": { "Name": "Accounting Standards Codification", "Paragraph": "52", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=128363288&loc=d3e4984-109258", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r365": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r366": { "Name": "Accounting Standards Codification", "Paragraph": "31", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8924-108599", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r367": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "05", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=126905020&loc=d3e5879-108316", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r368": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3521-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r371": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r374": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r375": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r376": { "Name": "Accounting Standards Codification", "Paragraph": "4J", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591551-111686", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r377": { "Name": "Accounting Standards Codification", "Paragraph": "4K", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=120409616&loc=SL4591552-111686", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "53", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=123414884&loc=SL77918982-209971", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=84165509&loc=d3e56426-112766", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r38": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r380": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(b)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441", "role": "http://www.xbrl.org/2003/role/exampleRef" }, "r382": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r383": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r384": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r385": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r386": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r387": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405", "role": "http://www.xbrl.org/2003/role/presentationRef" }, "r388": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14615-108349", "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef" }, "r389": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r39": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r390": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r391": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a)(4))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r392": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r393": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(9))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r394": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442407-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124442411-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=124431353&loc=SL124452729-227067", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r397": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(g)(1)(ii))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "23", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21914-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r4": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r40": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r400": { "Name": "Accounting Standards Codification", "Paragraph": "24", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21930-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r401": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "250", "URI": "https://asc.fasb.org/extlink&oid=124436220&loc=d3e21711-107793", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r402": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8672-108599", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r404": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27357-111563", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r405": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "323", "URI": "https://asc.fasb.org/extlink&oid=114001798&loc=d3e33918-111571", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "340", "URI": "https://asc.fasb.org/extlink&oid=6387103&loc=d3e6435-108320", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r407": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14557-108349", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q2)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r409": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3602-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(ii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r411": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.13-01(a)(4)(iii))", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=126975872&loc=SL124442526-122756", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r412": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130551-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130545-203045", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r414": { "Name": "Accounting Standards Codification", "Paragraph": "91", "Publisher": "FASB", "Section": "55", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920602&loc=SL49130690-203046-203046", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r415": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r416": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "65", "SubTopic": "40", "Subparagraph": "(e)(3)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126732423&loc=SL123482106-238011", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r417": { "Name": "Accounting Standards Codification", "Paragraph": "28", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123596393&loc=d3e14064-108612", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r418": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=118261656&loc=d3e32211-110900", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32583-110901", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3044-108585", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r420": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(1)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r421": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)(3)", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918673-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918686-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "842", "URI": "https://asc.fasb.org/extlink&oid=128292326&loc=SL77918701-209980", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r424": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39603-107864", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r425": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r426": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "852", "URI": "https://asc.fasb.org/extlink&oid=124433192&loc=SL2890621-112765", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r427": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "730", "Topic": "912", "URI": "https://asc.fasb.org/extlink&oid=6472174&loc=d3e58812-109433", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r428": { "Name": "Accounting Standards Codification", "Paragraph": "4H", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=116884468&loc=SL65671331-158438", "role": "http://www.xbrl.org/2009/role/commonPracticeRef" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=d3e4297-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126999549&loc=SL98516268-108586", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r45": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=124432515&loc=d3e3550-109257", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r47": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org/topic&trid=2134479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "41", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "b", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e9038-108599", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 4.E)", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=122038336&loc=d3e74512-122707", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r5": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30)(a)(3))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "320", "URI": "https://asc.fasb.org/extlink&oid=126970911&loc=d3e27357-111563", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r51": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=116847112&loc=d3e4492-108314", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r52": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16225-109274", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r53": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16265-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r54": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r55": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(1)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r56": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(2)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r57": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(a)(3)", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r58": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r6": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(30))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r60": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "360", "URI": "https://asc.fasb.org/extlink&oid=6391035&loc=d3e2868-110229", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r62": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org/topic&trid=2155823", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r63": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org/topic&trid=2144648", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907644&loc=d3e11281-110244", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r65": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12524-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r66": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1),(c)(5)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21463-112644", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.3-04)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=120397183&loc=d3e187085-122770", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r69": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(2)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r7": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(31))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r73": { "Name": "Accounting Standards Codification", "Paragraph": "2A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=SL79508275-113901", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r74": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB Topic 14.F)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=122041274&loc=d3e301413-122809", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r75": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11149-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r76": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=126964447&loc=d3e11178-113907", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r77": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "720", "URI": "https://asc.fasb.org/extlink&oid=6419918&loc=d3e35281-107843", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r78": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "730", "URI": "https://asc.fasb.org/extlink&oid=6420194&loc=d3e21568-108373", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r79": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5263-128473", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(32))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "19", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569616-111683", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=126929396&loc=SL4569643-111683", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "1A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c),(3)", "Topic": "810", "URI": "https://asc.fasb.org/extlink&oid=109239629&loc=SL4573702-111684", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r84": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org/topic&trid=2197479", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "230", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=123444420&loc=d3e33268-110906", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r86": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "25", "SubTopic": "20", "Topic": "940", "URI": "https://asc.fasb.org/extlink&oid=126941158&loc=d3e41242-110953", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r87": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(11))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(23))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r89": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(15))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(6)(a))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r90": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.9-04(22))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399700&loc=SL114874048-224260", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r91": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126941378&loc=d3e61044-112788", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r92": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(12))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r93": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r94": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(25))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r95": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r96": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(18))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r97": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "220", "Subparagraph": "(SX 210.7-04(8))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=120400993&loc=SL114874131-224263", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r98": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "985", "URI": "https://asc.fasb.org/extlink&oid=6501960&loc=d3e128462-111756", "role": "http://fasb.org/us-gaap/role/ref/legacyRef" }, "r99": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695", "role": "http://www.xbrl.org/2003/role/disclosureRef" } }, "version": "2.2" } ZIP 66 0001558370-23-013212-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-23-013212-xbrl.zip M4$L#!!0 ( /R U?$\6_-XPT R* 1 :7)M9"TR,#(S,#8S,"YX M7E8>>".,T\#^U>B?= M%B*^$[C47WQJA;R-N4-IZZP$>*V>E)+TVYBOD% M_@7ZT.EW3KNG?71VT>U?O#M'][\&=)5EA!#+Z_.+ED7FN M^-1:"K&^Z'3DXTG %I"[^[X3);9B4H_ZOZ6$S\_/)UGB?D2GCLPZDICRYJ^,(9+W.+[Z;G#:[9 707Q.'SW2EF2$80$# V^? MRH$ARNZ$C,$0L M1L$,F$!JJI\79ZGG*5/R6&/J<#VM2LH1.T'H"U:FMR@QE\&BJ%A(3=-FQ@ZVXA<3*C8%YM9)[CJ(9QJAWCSZ(Q MGB:DE*W]>A5P$J\$+Y<-@A:D?(\];B$*%ZV5)JY94 MSB5SZE,E",PUW2YJHRU'>$B8(N"*(K9(\D418Y1P_MC99;=;4@C3_,3_4?V& M]L1A#%<*E+-+G#LF,>5TL.>$WAX9MS4KSQ>_30#;'T?0FE"SU%7@NS" $O<2 M>W)"G"X)29"K(C)A!=.MPBKE ;^O)G?#T=UT-$27@YO!W=4(33^/1K-I XT9 MFO0-G\PGZV2**\.HA-H,UJD!K.EL,!O=CNYF4S2Y1I/[T<-@-I[<-;#5@.TJ M6($"EM)4>2)C\%=6Q 8_738SD'UK(*\FM_!XUD-: %//E MM1<\6W7$+;$9OO?V\ VFG]'US>1;TP]++)0'\@0N ?QQ@D54_!AL'[92$EQN M)+\A$9AZ!4.E1DX3G.]@6#W=M5=BWBC#'-YF^*/'#9*.$/HA+N-O#<"V $/? M$PP[XH;B1^K!*\*M(3;DK0*Y;P=R4@+RMD4T*%>A//9!ER)@FSLB2L#4D9@Q M>]?M[6*6,OD[ M>PP:4*EWL6@'4I-N!WC7X/Z5K.5^4055";T7I?1"OAA\#[ M0RG'!CK++@5.\T(&S0:<@R=GZEFEE&;(SG0=+.&%(F8-6E9HW1#,";_%(F14 M;%*GSE^HA&2ZVI0@6#.W$=5>KSC51?SA1U($"N8H2 I!GDQ.)[Q-@W9=M',P M;6V2*Q#KM IK8UXSTAJC1HMT'M^<08-D.>BT =K>IYR*P/EM&7@N85Q.:F)C MXUQJ\V#,5-Q2M4V?YH1\BCLU@6P(9J(Q"![K/"%PRC1HH MS890KV@(*5YR\,QR:V;& ^,Y/Y-@P?!Z29T'LB@'SI=EJB7S-WE5M:&(E-;FF[@?NU)M42=,W$9C#/BUU8L6OKIM4&M7U0 M4V\G:[4>"1WP@7#!J".D,0L)7Z">?. (^E3NS+X:WZJV4 C;E[:%Q/J*RU<= M?UN#.%'5 265:-J/G1-LC&C8!BP*O3IV8QL,K##(AXNN EX6*:PBK\*IT./2 M<,-D)YCD -<&OBKX8)!:4:$B!'*_5>!+#1+?*5\2L\A1%3,J=+8,3S4RYK@V M(): &.]73_Y*8Q74)C89[R$&SX;2' N"R4Z"EFR1S_Q4)JSBEG5;&JAJ[*.[ MQPS2ED10$,=J4UT^AQFZ7O>]Y0X[]$..;]/?#MNZ905K+1Y5F[K*@:[>U-6 M_YH!^=K85[&H"M7;0J\+U3?0[QT'M@@ &Z'K64=^&U!LX[W5L=P*2.SBM T@ MY;W$ 1-S2+U0$/>.B'@J(VRZA'%&UV6,]&:P^OK^XRC#-.:)@"F*N")P$Y'B MV^!7O9/.M(6N I?*O7.-_FLM75BN452@4F^/7 .1]&7XK[ MR+))1AQZ7=TDI.QFE;O1O6D53+_85:'QTK7'1M>UEZQJK%55H%)WD:H!RSID M=A]X5 >6B=0$%D!57!8NV3R9,&Q"G-;1-/W.Y%(Z$U)]VX\@FPW)AX78])A9 MYC(CV"\B:!=N:T"M$7?3 ZBA,(/UK@C6[O>K#2C[!./T^)B)S5#5W"7WJ; M_: 'NP>&CQ=MLID1-J['N[&#(.=%NG40>.0@-+CN98S>@&8'#KS@JDKUOFDK MR6S&^'TQX&+^I$V6@C+%-%B_@E54 G2-G&:4]UX_:]"ML593>J1.@<*(5M7* MS?\5)O(_>9#] YDC=>S\A3PJ[U.+T]7:D\?5JW=+=0B]/"^YG1R-_"N(>_*R M\A(2R=]PI+Q"=5=#<<$)"\R< I?"L?C 1 V?E/!.4OD6ZKR:6(!%7;%VX#M& MJ:"AU)4JW[:.42@//]85"K(0[VWD^=C9/1 \?I,_.%P=&PZB!4P@OW!)0LEA MZ=$M%C>!H_A$U+R,7/Z02CH]@:*2^IF+K;XXH*P&53G5,]^S)IJ[$G3UV,WF M,9;+U99\VKW3=N_,OB)E5SP8H=!>.M$AGN IFT.0V;E*Q$87*HM\2F_HD-KH M2VWT>_;5T%^58EF!)(,L^?U^"&1N\#@ /FFIOXUERG852"ACPJ7=U?4*]AP M-X35:)#-DCSHJQ!?KZ+J\*DEK51P/-DTF(MG\#7!"?J,F2M_WI+5(V&1^25' MXE\M:*.Q/+VJY,)5EPB,!5E)8P1D"1^YH"*4DOS,@G#]J:7NTKF@0-)"&%)E M/.-32[ 0R'WJ>3*.E3Q'M# HT\"=146%+-YK52KB/0P*ON!C_PLORJ1+/&HA MP)UT".?E@NP0'*,P8Q]:D:^HL%>01)MZ7&*D=;U]&,M> 93 ;/QU[,]#>;'6 M?;A:IPA$,EM1[M3JE87>5\B[4%9O,I^&CFQ9X,X^$)\\8V]&V"H^)3$1TY)6 M*VA<=X!_09BUE'NUP!NH&U&1=NHO!HQA?Q%_;Y@[@(%G*G])%M3W(67LSYZ# MV3((.?;=.^H308B?:;]OP#NKGT2Z/9K!''LZ[7]?#(=?F.@C96^@PR_U_ M0XNS)6$$SP4Y4%]9/D>HF?N0.4MU!DJRN7 0EY.=] Q$69GD<4+0,+[SI">O M3^1D2**_8_\;ED")S0/AA#V1W!1829L5;Q7 0('9YK4A>XQ.5@#QR",5>\H] MA7GNYN:J,,WOO#^N"3ZJ^C?NT%C+KX&COJ).:"/#;$QR7DUHH) M?+'T-I*%+W&L6K"+O16EC,A]A)J<*GJS@;8>-2/378V=0V8&CTKYHJ\%% MOL*>'#<#7U69#^++!V5M9\$P%GXTGQ-'3.:Z0^%:V9'ME1B:U*6XOI5=F*IG M2)XHF*YYZWWWY7$:ZK'GY'D;J"_Q@C4H-_;5#?' M<0H=;PF)!J!H[\&7Q)UO!*O MMYT3MFK98U+(2#BD?!UPM2=JX+M3L*%D?]:HHI3PB.493@6$&$4 M>_'!U]$4QEO%5:@RPD/6D-Y$LFOZ0MSH>Z?R95L3T3&VPP2%O/9'TK.6^W4* M:)70O2U8.KFJT$H72J37MX010:Z1J-HGSD-&.AOB@\RF@V0T6)[1'K5H1\F/ M_P%02P,$% @ _( #5W\IJ)^>#P N-D !4 !I[JB.\F$!(S>P5 3*;JB2D@-G=^[2E MV"+HQEB<;$C87W^2L8T-EB4;@@5LURWKZ6%4P:.@5#IWS_]]2]?_E8N_W8W?-1,;"QFT'8U@T#@ M0E-[1^Y4&^/Y'-C:$R0$699V1Y#Y!C6M5KW2KZI7;:U<]F7< 8?6P;;F":M? MU<)ONKX\;-]J-Q6]4J_6=:UY6]5O&VWMY2DL]T2;-T&B@A:R?]RR_[W2!VH4 MINUX?WXM35UW?ENIO+^_7WV\$NL*DS8_8 *['EA"' MQBW!_BH'Q:U^!;=S6'7TL.FLTMUAKO MLRF!DZ\E1&9FF3%0;>I55O_O(Y?2R"RDBVT3VI3N.V Q&*,IA*Y3TICH[\.' M$ $BP$0S:%X9>%9A7U:$(CS]25%9.3R<\!-G,!G,(?'XR(F+)TL9@%T\FQ,X MI9^C)7R@8\,,[H\T4:@ZD($SO;?P^P$HC8@Z(KP><@P+.PM"ZR^AO: _#/QF M(V9;#_8$DYEG9G>K,17:@RY EA36?'(5 4[Y<0DPW$<$7I%%/X+.@:"G22X$ M_(--F^ABLGJ&;BZ,B0(*@?)",!T5W57'-OO_6Z YZU=Y48ED%<05G>+?T*L% M.XY#Y[;\E/'E% +L$5*)SA-P%P2YJW!VL]^\+X*^LLH%-JML)100:]MFC.@" MRZCO!S]=,_+I'O/_![^ON%PBUP"NTOI:"#RM% MM*6[((0J6@3N%1&96E*AY'K3F!>JSW5"/[3'X M@-O^5U*1L^*/C\@GZEHIHM8+\1>Z0'"W5N-J53H"X' @6GPGB(9,B:,9A\=]9 .-REUCD%ZK(#D)G6Y@1A M%GCQ>N>1:>S!":33@[G>-*&COJC_\2N< H$96R\SUVW8TX_?"3>^U3.VC50/ M-+%L''6CI5?KRG$FWW"?KJ9"PV0DBDIGZ9&+C1]3;-%F.FS&=E=;9(F+%]=^ MCEU%2JAC3;)JC]J9"(B"$:%(D].7G[L%U>%*5O^IC*6A4I"X(&KU E8L9"47 MQ(L75IK M#;R8W@2 !7D,MBN_Q6YT^["<:EC0<(MPW1F9:J>$<^YX8>$$RSST= M3X$=KBE$K,L+."/Z]P2M9'@8FPLZF %"@.VN?(!="SB.=YY8M"$@5?N,+& ? MQ H&G3EGA-)93Z]T1F3G "JS>B]RDO>&+.FIG5/ZG"C.@-#GMJ4JMZF>J3"T M)EE;:>X/X<(+H*KNQ7/&+'%D550OKHUFL]V^/CGB\X&4<=^+I%P8D.475(?4 M/,%.23P*[AIW\6R&;:_]J8<:@=W&XUXPC#' OY=13+N6,QIUQ_ZG_/!YI@WMM\-(?=L8/@V=U MK^=0NC;<<6P^5H;R>MVN-?2;]DV[VFJUZM?5 @Z$"'F M>W=T.+:"%/0/PR6FL$,EE%3/"H[-:,J:7: F!6WA&Z&-?2%XPO4B(R74XUY6 M\[N'41A/@/R $47P]@VX%5;IT9E/KG ^YV6$J&+JDJR@665X_7XE>9V92E M8.\/5>.W^X[.5?QU)Z=T'&R[U:JV3S8*)0 M7H;]G^E7#[_TM8=G^G=?V?AT@D($.S2I-8HX5Y<@>>?DWH'QRSCKFY,^#:4L:0@-_Q3R.A=RQ_SOPG'9*,#F MU,Z@^W"/R0A8<# 908,ER4-0M,_Y:<]3S_H^PYRR&>WA%2HTY[(*5[\3U-%9 M F0Q]5*GSZ&(-W@W2CG\R'F@I_YIV\=3J^JGQ?AR(TX_JC VOQ"\!)1@[I; M?7=8-I56N0S"L\%7W8<, M<\S^2EL >_C=Y@9UMPM> -V2H!7M:2-$9'U5*K7.1!B#"[S/?5IMY_VT(0=KHQ+=:2)N$C+"+M)7*G5ST&6:7A+H7:1.R>@A,0JDK(QP3 M]_.HB3.O2]>_2-/(HHO /)3-4\5WL/VYR'*;=;E*9\SR'@H(6$U-;EOX$)":N%5Z M#$B5>O;8PBJ'IYDLX2+M))LV AOAAT<+N$2;K"06 MZ'7V.7J9(""N$_8ROD;!%J+LT4M9[:E^5(OB,B TO5O,;&OQ";ALTY$Y5UUL M650I["[S8++&ZQTWYQ_BRRI)/7O;D^U=\SF45I0_]0E67N/'N&/0'D@@]TW) M//.1%G )5K.?,E1,U+,#R5N[^2^G04N8NCTC5_D2#4->$<+SI 48!4<_]\@& MMK&';Y,@0#WC4-:WD=6>ZF^9"#K+8-)##*!MBL:72$GU[&5/MOB#B0BUU*7L M(OU6EAI\X+7*Z7] 8B!G<^3!GF"RUO'=:DR9ZK$W2UAR-ZT;56JF6EG;/(#^X3]#BSR$?AIY MCO:ZTIA8[1_^L_Y94O7NM8\ER(&V'9&E;LC:'V%^*?W/Y"=NR2&)VE.SV:SI MC7;SNG'=;MRT,^>WX>SC1*_C#"9]G]SP%9IO!,*D4$BFNNH-%(>B8&M[9R^% M?'+<@\._0!/KU'[>TBO(O">T\X/)C:OINM6HUL[3;CY-69\F^,@62)C9XDK5^D2K2&#)G(N48_E7 0*BAQWR>I>Z'+N1? DS=H\Z@3\ MBSS;YX(Z1UZ6!/-=\FNX.1#2*ZG7YZ5HBBXA<@ LQA/HF$NZ2H+!DL<;U7R MR=Y?2OD3YBT?MF(FVM%TO37B/-AC:E7.3DIA3JE3IT<2D5)38I@+XQFZV68^ MBF5[Y@N%_4NSH7L"LUL4_9:-QK\J*G^+]Q(8[LFC:*&XJ35;>KNH<'F24A/3 MK_#;K?IF>PAA"-Z?@ L) I:0IFA9==C*P$H*E4)L)\/H/7M)RQ2:WS#F[E8E M%SXW3L7@5#];M4GTA,D/[]PZ7:8*28T5/C=2Q>!4WU0.H6Q2 0LIC115AU#I M>5+4>JG31D?S*".W0\)#4IF=R^M=YS*0JP';U$+)I^)IZ46/O\V? MW)@TSS2]4MR&6RV=W2 II ?*D+*U;Y\5EX+O7G>!NS& 2W@#TO@A#WID&^EIM=V]T_1SZ2_ H#4^T\"V*FL6^ M#G=(5R

P4=/COH-[M4PX9P!A"EG@PF]Y1E8/T' K(/ MTD2!\=YS!))7W 6: MC:P65(_;RH)EO6+\CO#C7SC(A)$^<]]).)1SP:;"A2_S M?H13,99[O-C+C8F(N5Q3X:(7OC7AE"P%[:24RBOF@BV%AU[^;0O'617'4&R. M"G?I4^J2:^*$\\*):^+X2CAV5EACS]/J?RZ)51H7OMLFY91EUV1YO-GF>F?& M_LH#DBX/C#_] M'U!+ P04 " #\@ -7WB,D97@8 #87 $ %0 &ER;60M,C R,S V,S!? M9&5F+GAM;.U=6W/C-I9^WZK]#QS/P^Y4K2R[G63BKNZ9\C5QK6UY;74R>4K! M)"0Q31$:@+2M_/H%0$HB1=Q(D024N"J5MJ2#@_.="WAP *?_ODVC[P7B$F( MXL\'QX='!QZ,?12$\?3S04H&@/AA>/#/?_SG?WSZRV#PK_/'6R] ?CJ'<>+Y M&(($!MYKF,R\,5HL0.S=08S#*/+.<1A,H><='QV>'!X=GGJ#0<[C'!#:!L4> M9_;A\'C]RT7.#\4?O>^')\,/1Q].O.\^'IU\_.;4>[A;T]U1\2:ACC *XZ\? MV?^>:8<>A1D3_O'SP2Q)%A^'P]?7U\.W9QP=(CRE+(Y.ABOJ@YS\C80EZM>3 M%>WQ\%]WMT_^#,[!((Q) F)_TZK22][N^/3T=,A_79/2[D.%0!76]-<@63L%K(GI6"?!BNR ?MJ!X,F+&.OCLY8NW_^I10BS-G MND!Q &/J&>MOR&CRE"#_ZPQ% ?7/JW^G8;(\\%A?7QYOUI!"#()P#H-#'\V' M[,=A?9Y82)B",B(D"=N_#186,*=,NE%#B:P7X T8+B)/E61PPCUPP3[V' M22.P.EXN 6S%Q>ORMJ* FY@.X]/P.8)GA,"$-+6NBH\58'PTY4_T"S1?T,&6 M!U4C;!I6#L'CWXX6[$]"W>X1D@2'?L*>,_2'+W2,(6=^$K[09TN+FFC2JQ6E MW4+*D31"OM74HO@C.JA0M<=3_O$"D68!JV56&R)' ;"_@IK_612(<8%D#@YA M2@=']@]/XH:0P,DPIQ^^AC0#&L0 8_0*\8%692()(XS7_%B'@_P#5>WQ]X/C MX\$'GB7^=;NO(I05CGH! N( X("&P45*$C0_>PO))9J#D(X7$Y!&":D3X\;, MRMJIZ7,,%UDE[1- GKD*Z11K"L""36$^#"'MBWW#6!(F[PTQ[O^D 5\-PZQXIU+3#^'V73DEO+-N3-Y=H[P@NR0T04P6'\;)JR# M37.OT-[+1CWOCCM$X[%"#ZREL5T)\?3T].C(&W@;SO3#BKE'N7L9>X_Q7R%? M]\#AK !%R"_U&+&R"L**X9U _W"*7H8!#+.1G?ZQ&<_IAU]OX11$5S$5=LD$ M6/&*P#.,/A\(*'X]W@(HH1EV+GK6WV5IZ"S(7?Q9*/0V05GBC?>4D)9(9Y&@_7#*1\)=ADJ5OA6TG\42N>-D2>2"F&:(7T^:,%^ MZT&#X*205=!/&RO2#[^N:V)//J2968@$;BBEJ]A52=D;I+S?+S%90)^7B(5> MJJ050U-1-_9?$_4B P%Z18Q6:+L1XA%B9V82)CTB\GZ0G(/YG T*'9+1B>"KJ=HI#"C4C R'L%(BJ0J^+1"IA[:;>J^U$#Q&(D^*> M(FT*;M!2FI$:MG5*(=K4W*!E?86TG*K7,QJJ+6#OJ;L1H&(*;PC$;E1>,YCP M-GR!P?86N/-EEJ5%@*@*N34X2)VR)@_'%+41D"6WRLBMR:6)PF1\=H[H9H9& M.PG=>Y37 EF,]@;@^L]$QPSW:'(3!^%+&*32+%1()TS1I)36(/T<)K-'&/'" M"9F%BS%2+*LWX&"F!CV/G?)7G8%08[%ZS6@E,%;9; /Q+2^$IL\$_CME*U,O M^8->M00JII8O?LKI'0&K?/9)Z>L ;G,)5*M^9"A*_PN@,M&+3R2ER';CY"SX M+24)?V_L&N%[^'KF^RB-V49NFC7']$\_>ZM,$3VU>$A=K#87&^IBIAM-SH+, MQ83E/Q6I%+R,>.?0:FH;I)>M]UBKB:48@3(,%LK_5IL;PKQU;*:3G[>04XT,P- M2C3R[&6;RLH\8 8PK+Q4>88Q6W?C3\;SY8;F 2SY*,0DWX@?!ZQ*JBV?==&5 M?/;146>[9U<2WT#=R]Y_]E7&6IK?=(31<@E!B(I_2\[29(9P^#L,OL14QL)[ MRPP%A7OU!K$?$OB Z7@GV]K084\U8VGGOO;,0%4@#4:[G7KJPD"JOG8OTG3J MI-H1IX)\7HJ6@A#3)-&X> *\#6^ZDC1T'&K] W4EO8^N! M&&VII-PR2LO#! CQ3R!*X?GR#@)VE 3[QKS92M?]/Y^C9;RX<.LK56%B 13 M[RS2M]0K1-UV]WBN93146\#^0]8$4&F7D!D09Z)R_>>/(<144;/E+7R!HFU# M]1J;Q*:FN2OA2:IRU@Y4*8]:(:ODTF;PFAE6$[]*:6U&LA*=+IB5J"QOP,\K MG:J=]@42^0[R+2*;6-3;Y,WJ_!U4Z"5Z1*I.^]_07A*RM'/=M9IX^DS"( 1X M^038AD!>5])LK!/2*W>:25M8@;P1(WMCDB?^P-<69_0-Y4HP:MK*OCN==5!= MJ:QLP9.@*%5+C:2W&UY\1RU;(.5\6?U'$FSD#J>_58V%;2\H(K!(: MH6XQPAK9 ^G$ZCW$ZL HQIQ8?+LQ5I!?L_-#0*FNV%5I+0/45S*-'D?=/'W4 MZMVN)UI_S C%K10$W7J>7& 8A,DU\,-(? BGG%#J#&)2^^C41^@(2 T1MGEH MCDK+2"] _X?D" 0NG8TC$=210Q#YFWX&DQ09O3P_5[6P$@H%.=2!4"&4AX&0 MM+WS#A7:1CHI[!UT6)6Z%!!":2U7FU+LS_B=#/-YR%^?N'KSHY1=?W:+XFD" M\7SSDZHD59>/O,[3A)/SJE-7P.IS:D=];=;2=G M+/X_5?EZL,ME>Z:P=P> M*SX-M\QU2S^:GJ[?RL5Q!=>0G$-_=/0-/X=^S8K^?3&ZO[RZ?[JZ])[&9^.K MNZO[\9,WNJ:?1A?_^^/H]O+J\>F_O*O_^W(S_N7 _!3^M0_WFTF,P?/F>@19 M^I 3#2W)V-:1SP4$1H.$<0P*[[;8^+LR62@9H%245$/9&C5ZMLW.YU%W9HOJ M)2Z&AE!YF?:,:MOV8 -N?LN8\MU= 5U7=N!Z6=]/HS:"TIW*AZU6Y+>K^+,@ M"+.N'T 8W,078!$F(%(:0=.F5X-\V-$@&BQVC?/(+FJ+87 %<$RS$Z*TBHRX M5W.<[&@.&0C+0>+[Z3SE%?-1,H.8 <%PQL;I%YAM,U8'C'G[7JWUS:[!8X[+ MK@$WF\"I<]W0/[7Y5X&P(Y/P"^4,G^T5L86)5IZ*;<_'^*5@'WT4)W26W1MT;B0]K5@ERU4#MGDDAVX M!^. %.9T%X#,).:1D[N0\K5@*3E AXPF2U.9=U%7&TW&X$UB0+.FO1KSV\Z, M:0;6(<,6CB ;(\FDGH_QS]NO93]"JA 2)C _ ^HP:Y7A_B^+X>HH0"'G(*+G@E]F6)V M1B8?T3+OWAP'LCX*1%;N:,"G5S>(+PG"'D4]I MKV5K4_\$^H=3]#+D!W[C96:"_,/& OD7OWYYVE)W\0>;M7XC%V&*+0J\DQ9# M/ ^8@DZ.OCLYXDIBW]!G8P)Q##*>PE5E.9G-6KRQ N7BVZ[G"D9Q<0XS1'9C&, E]FJM ?C""UDA&S6QN.C(PB1&& M]UGH^RS4-)8TDZ1S2*<'D.^ER;;/&$PV6^2[;U//%J%W/HH6Q*00%X@PSRQF M11JSRAJYL&US%YO)<'5ND+,YPDGX>R[R53ZU_QFPNXZ2Y1F%D[U++;*+>5L7 M]FK6-H\Y/(=6R?],93O)/LX_>-F.3B47D)U.%P=LR7_!?/ >)O5*==]6%\!7 M?#T0!]Z:\_]X-.O;@^+'5=J<;SP%VL/]9%)( M/V#YR_FZ1DYG?4I;ZY Y5%(L'%=T"1<8^F%V(2Q<1)!K/ Z*I5(I,HF-VV/O M=':I](;V=."0WTBEO(G=19"!CLY2MP>[4X\&=[-:Y)X?_]-;E.ROCOK\F]OR;W_IK< M>Z'CO=#QIYWV]%/D,)SV=)%%T[$!Q%.VN3PKB-;>.O-==>O,AJ>7,=V_73/7 M3*7P-GR!P;:&S%)C/8.^%R[E ITO[\!O"//+K10[:&IQ<#&A-C5J:9VS#FC+ M2]-R43>":N]RK\W%D;TV#?S;T,YBV%VDHP]TKA&S1:DO1+']0T3EPA:;AOZW M3E-%N#K5LG;Q4T;I0@K2FK;;7 !5:_PZC:)E7CJ$XNUC>G(75C5:TKT88(?S M7-K=)7R!$4U#@]4.*\U@8]K2A<6(76J@--7)C23YWVL#2E M *7:A:-OYGA^J+2Y'IU#8ZA"V,(>$H-E^R:,',]$FUI9BG<_["XO*^L:.9[" M-K6G:WMJRN\1;TLKVQ6G:>1X'JNTG0Z;0[930+Q.^=L@!2Q7;^SV#7CV3/@+ MQ/6CTH"EX[EPTY@U0+X?7B& \ B9;JE"659)?!#] H'TY:DV.#M>&S4.'-/G MM[%B]M:%[NF48OP*HQ=X1^<7LP:)NA%3Q]/X'ARGJI.]]1GF\N-7U(JKK'DY M/@7HP4/6JMAOQZ ]R];T&W-S?#[1EW-DRMAK][A&:3L9RH:9XQ.6GIPCT\5^ M^P:E;<\W.#/')S5]^0;7A9U='J(DU^5U9%56<1%R/,#ASCA]W_#H/L=JT+1$QWT;7:5\]#27:PY/K] M@=M<1L4&.V4+%S?4=> *Q3%#J0^[SPF):,J==9HVCNRC,W!; QNY<4H5R,SSBX _@K3.C?)G;3-W.A:E+;9'I8MD^Z)31I]F=4 MP'P;%,-E8C"CEBX4,VK;S B97;.UDT)5UIFV3-QZ+_;V,G6D,/&VIU83W#W< M(95#@X$8>1Y)LC5[P\8N/,%[\"I3=;A4\2A>@4T'43J>)CCT&0;VPQ?:'3GS M:>)"Q:U;'*G;D<_!R.C23YCUP6;R7,7A54),[&SM6?9F:FQ51=N;?]Z##NU:?YKU%XV)QI"6SEH:0,FK+TX/&^#8PXH"] M"ZU])[&;KAPIN C=O92.=(+>D;1W\X!1SE$4]"Y4:KJ,A:(K*-1@??99R0P> MG[[HYIVJ-BZDA7W95:.*3M[)A)C?.AS[F? B$12O:-9H[4*YIVM#UE:*X\]N MF39TA88V&-NK+;2G%G$Y8>>4< ]+"(UUFD_W1FE"$CKE"^/I(XJB:X39CVV[ MGZ:SO7@6-7/.CC3FT)Z>%B'>IZJ%C_;[V8O<=J< [L@75PK\ [GA#^R>179> M!Z\WJEY0[:2GO1X">W=%H0I="H/8#PF4 M/G$;,-J+"4%[KM1 0RYYRHZ*HIJ90'Y3U#H<.AJVA#VYL&Z]/\.64(4..:/1 M,MT]BE_HS!MF4WGGV>HBVX]]ZI=K91Y7JZB-"1U?#Z/BFS59<']3ZE)+R]O9"O MCVT1N%#'DWO'>@%K2VI'KXBH7IYN>G] L:6%\4A2U:HY'AFA<]1T3$#ER&34 MTI&AJH:#&MFO"+&+0>OGD!V4^K1@-2AR'='T, #7P \CFB;*1S*35BX,;TTN M C;!9OLR<]'8H%N%U[:RM\1N"*A\C;EB?.Q_15P27=F*TVAR1Q^R. 01E_>" MRL'>B-\VE%$+%U9<:IC+"%/G1V>O!"AW?,7BO+*&8=+ A>);4R-(('5N WY6 M5+1D]8E'6+GH6$SB0A&HKIXK(!RJ+X[HPQ"PEQ0YG+QB)7M>R(A=.*2FP0-# M!L#:WSL6LC-WO9M[ SKRP7H0$/ M7T'$Y#N'TS".Z2\W\?@5C6\HNG MU&?W2H0OL"!=_LA5I1GJ=KU:\?MVLPTULOT)W/$K;;44'/G673>]FOW4L> M M*L)%+QG/:-H,)HFX/+(CPWXK)T?63%_$['@:EAV67$Q :J1BHL;]VKCMNHL> MG^/VO'H+20)C'[*7]DD8I"#Z"40I_"$%;).F]-S7AKSZM?;N99L=X=K<9U 6 MENV3J+OSH'((0;[S8."M>7L1^\KS*??W#0D=2_^'/3*QYA+?^\&'[P,T(7GVW/C1I+G_Q=QWZ'.-Q%N1U#N;K?M M77MG]H*MAT>W:E$KL>WS=5Q,0$"1Q!H$. 50$O?37V45GB0**#PKH=F(&;S?/*),N9Z'OG( M7&=-"7G_[ML/W[[[]B=R=A;3^&B%O$_@$T'LNV_?IY^)NT_BIN_A*ZA=;/'Y*V[]_^GT\W#_:&;JTS MUP\CR[>S7B=P ]OY8=?<<,1\F<6>/2>KHB0]>?HL*-_^2IT MMSL/=!1_VS"Z*A?88^PM]'_KTS5\FR#,3R#,^Q]!F/\9__G&>J3>5P1:?KZ_ M5NK^4X%6W$FHH_4UOI7Z2%> SC?\IX):]"6BOD.=1#%@5T%:2".^04$9: =V M@: '7V? 3@T5)C8/J?WM.GAZZU 7//<[^.$,?A#VX;_\[3S@$3E_#"-FV5%" M2(6;^V N_XN.O/B[T9T7[%@6RZJ M9!>4?/@W[['%=YOH4E"$T3#8,YLV^E+S\JMLG8=[N@M8&52I6T[ M13J'7O943/D#J>2MK/OI82)I#RB M']Y1Y@;.I>]<\&E"A>['[2;@@Z6J'7M@H1%R_RN7M;/W2;)\3'4($!YS)&66 M'[HP?->B8$G3";B@2L&3T?:H'7)'5(K;?11.*8\'A7(R>>5Z]':_?:2L1/&2 M)HB]3Z50XG7'GR/U-J68;;TL7C4 12))CN9=]W3MPD+(CVZM;=DXJVB&WLO* M%2MZ6K$-:F]3B-K1XS*J!,B.YG77OATPCJ)BA?P0\<']/-C[$3NMZ MH?=)+;6++EK9!;7'ZDG>T8$+3&9$L"$!(S$K KQ&\^JE]7+M\,F"NW+E_F_- ML*UNC]Z3:U0M^K"B,6KOK9.YH]]R\J1(?^R!?^XXW&IA_,^-Z]/W2F.4MT7O MI!4J%AVTI"%JYZR2MZ-CQC1GR0\$J).%/QZ*QHS/^8\+M@R>_3HS%%I.Q2E/ MU2MUR:S9%!RR1-J^W!%(P\ .Q,=V13&K6+ [%CRYOJV>GRJ;3\4I%8J6>N91 MVRFXITKDOGPTG7TF',9VU+L@C"SO_[J[RF64HO%4G+14R5(7+;2<@H.6"]R7 M>TKJA),?:UD$H#UGU%*XX]''B!VP3)$TXR'W&5(G*Q6QK5N)D1BHC>5%D$WE MW6T"7[T-7M($L3>I%$H\ZOASI%ZE%+.M9PF"1% <;S7\0.T]XR[]_KO'I1MY M93A5T@2Q=ZD42KSK^'.DWJ44LZUW"2HD6)'WW[UY_(8D]$=PL26S(/GVX;!] M#,I4/?XX3O; B*Y:GXIA2T1R]FU8K>GR, M7-86M9O6B-SYX#BE#LF%5N*WHZ9UL7,KHNN '91&.&Z%WBE+U3K-[TJ;H';! M_RK5+/IA:5/4_E@M<4>_3(@3 M29W$Y,<#Q WUO#J_/&J$WAW+E#I"PUP+U,Y7*FA7+ 2:HWL:Y[>%%,C _N-A M8W%++?81W"^'K2/U*JVZ$WI/U%'Z:"E=T0.UIVH)WG59+7@0P61&)!N2XS.> M,_-%$K.\:]^A+_]&U3R M_,H-;-4/JBW72=KXDFO=%07IT1Y17IO56<\W:$9IY5ML0Y_ARQ\Y6JDCAR*U!W;& \M4D_A$[<2OS6T\K%[<7E[ M7BX?C'CZ/ QI%-;X]$DCY-Y;KE3>3XLM$'ND0M#6V"K(D2\)P?]W['2]*!11 M%M*;$;5Z># ;/_%*42N,3MM.(IH4*IX&U5%#]+&EDK=;B,W2+"4]>T+_+8;&2" M?*QJ=40"*DN5YP3,4H">K@!$GV#]&J[U'K*0+;_*G#Q_>S[Y_]X$/ M\O#K_][[E'QX-R-0.'\FX.!/[W]\-_O^IW^.6UQP-G"GCO!^T.H[(_!P[3]Q MXP7LP"VIL/I1$^3A7Z90/MSSGR,.[U(QV[IV2DP$L9G8'4HA?RB%@LCR1E-H M"=R, , =HSO+=2Y?=M0/*9\=+:(-985UD,( >CV1PT4#]?,HHM$-,;@TD;ZM M1\<\2,Q$C(""#3E:\YN!HS%-0"634-@@$#:P"SL")@-_:;W0X[-I19-IA')! MH9*8%9_C#\ZBF%U=4% S&FG]ZN/Z=K"E)"I3:_RM;)W-1/SQ4SOH365XZQ?% M1QFNZB:;_:HD9ILXQJ!@1UETN..*1'P0AEVY'1PIJU>C-5V0QYB.PL4Q2]T> M<01JB=U^#)#$9T20E^]\)0P,KG!'45IH2S-MC2U_!]6V=#G*PI M>%NGEN3/!'V2,4A7^L8@>6"] L6)UQ%A*V7SXJELCCET- MH5O?EHE)$TE;O,YB?"XQAKX15U1$J+FE0.X>4&IZHM\N"L5+$PK)8U M1!R2U?*V'D\*IW8984-CYX Z&MP)E1I5[O[B#ZRB$J='!XA#YTC ;H<%)L\( M>MJA,A@*-Z[UZ'INY-)P[CNBPLHF\!P.#+ 3%QUJ+HXTZ(X\G)H:(A]PNGT1 MAV1C%=IZ?(Y1>I@0'8S?11E/_^OYQ^N;Z^7UY0.9WUZ0A^7B_-_^NKBYN+Q_ M^)I<_OOGZ^7OII% [])898?I1+O&]3%UZVE$=-]7K'*D\=PF&U#?1$4O8V'F M7EF2-G]G'2!E7N]FR4ECY+%9K639;9)B2\0Q62-PY]L4,5TD-T>&TG(GZ1J) MP,OMS@L.E-Y3SXJHE]JJYT.TMA/B:-67O75-P9C#&9,L2-G( M:B:(AU>>QS/;*0^7;GF;F^RO>5=!4SDSXIMJN7&\M--Z+H@ M;T0 >;0W-\;1R*S9&W'\MU"B4RQ8GKCQ* C'US3S.Q8X>SOZS6+,\J-#;(%SSPI#=^52I^[>EFYOY'C0T Q'>;4Z71$C05,- M.B2> A^2,"(Q)^/WM\91/U6;:T'9DYD9_GG@BUV#W]QH<[X/(XYK+)G]'*J# M7;,K\DAO8H!"X1:-?HACO)'XK7>28B;DV857/V(VLW3>?S &TGY*&MI[0ZV7%"X:PI>&_ICE@B>&"]DZUP\;YEX$-ME> H M!3*W2VXNJ4I[8T[=&GLL5ZMYDEHUJ:VW.HF[+2KQ[+(-JV=RZ=1T1&H'XQ3C M4"\$)Q5] SCD>"%7E[DU@'+%*]ZFHZUR#E^;9JS?&WE<-C2#]DIV$LG)3348 M<#UK.H=Y+%-@7M767R[0Z(<\WK55UUC>3B+&]64?8I%K.JS'U/YD73OC?PK# M=,2/%\.FY];U$Q[\45RBCF(:C3@RRZ3L8>)L?+[@_R]0N_Z'=^]F_,\DE&^@6_MH$S#W/ZGS+^3]=[,??OI^]L,_ M_9A\Z@KKR$*XV6/IZIKY@L)[3O][+0HX:NK/'4<\@F=Y=Y;K7/OGUL[EDPS% MEZ9NC1P>:M0LY%Z6-T4,%G42M\ZJ3.F2.UG(EL2D#65/#J\G%.P]XWK:Y7J. M$I+W-+)I"Q*)8N* F<]8=HQNJ!^Z3U2F@-\$ M(53I6:R6UHL*!1M301[R+7 V@FCS "DNVPTT?_I96+:H_TE-U M0PZONHHWJ=*%&'JU1>^W*I?Q ^=AE#TYA18JHPGJ>?+^[57 +N+7;T\?XZVI M1-"0!O)P;V62POJZ"0'$0-!.C]:+A\)+S D_4OI@M=FR!..:I?WCU:;/S/E< M>L'XG) O!\6AY1UE#W#45W_&6=$3.7@T4%]QV*[JAA@HFDC?SY$\9T.XRTM& M\H"><%9$\#)^1#^T$4)IA/2TGKQQ?1[^GF>QD/"EF#Q1/SF@&#O^A<[A/$T; MJ#=<28_IQ+M*746<'S>?1GPKI>['I4]238S'LFF%S02MS'72M4[:>FK!6E2S M,E!ETRD%Z9'$_0R\DC2:9+@A-"U&IENJZ"A1*4]HQ#QB6U\A6]T:>536J)F/ M2D53Q%%9)W%K7UW<7ES>/EQ"3??Y\O+3Y>WR@2RNR.+N\GZ^O%[I2L7I4ZX!XC@IE[/]!"(4^W(*;QMK=C2$2B;OF?_"@C"\8\%*F$K4R8=.[F/$@5,F95L?$[2()&;F%+!_;7:EVHQ;EN'R94?]D(8U"X>J]LA# MJ5;5TO(+QXT1AUF]S-T+#B2DC=\I'4-9&I,VN[H%[D M/M%8814ZU?9"'J:::A=&P>HNB$-65_+6XXND+])(BAR22#83O6/J;14XF$DH MIAXGM^;J?K+8'S0'6PK[5'9 'L#URA82C96M$8>MAM"M$X\E:>&Y*7&SP3JD MMI87)[EM$]*&MB)#REU\PW6\X(M7+]C!!FQUC-;U01ZF6BH7=S(K.B .5CVY MVV\62NK"B7/TS8;LB#H[&7T<*UC=!0/^$%6J5KE211R*:EG[6YF:V13J7S.9 M"QZ<+$;-!EEV$;#.$(664PFT4_5*0RUK-H5@*Y&V>[@5;B\;CKD>%8S5 O=( M8B_PS<3<;> '10VKYZ-5[9''7ZVJ^2A4-D8L M+*,@;X:+BPT&4ZT ;JZX%T,5;]??30 MG E(,@G)HQ#QZ%7:@IA$R"EKA&>2DD14,_.8"=@^MNR.!4]N"*]KP1TRB<,& M'\!-#1*/+Q_E&]V59BYK/0D 5*IY"EXG3=$#CUKBCH[+"2<[ ^1-3'N8:=$3 M98]!]<1H*%WO%&&9[!F86;[0J':SX+@-\D L5:FP-,DW0!QTY7*V7H+0J+@= M,&:AG/K52.^ZEE>F&F>N,)8VHT!$4I8RN?+ZT0I=NR8!K:X/<@C14CD/*94= M$$.,GMRMRU0EQ5;3>]PS(C@8STL;5N\L8+.KVV:RTTKU;&*3B<:J=HQ.+3:' MBTE$@=A#S4X &;\D##7K*HRUUAA0?11X<^%Z^TAYZUS=>F*8K$32>$ M.\<2]XD\,6T)/SR8P@D&_47>]XL:CVHFZS:Q5066:@%EG%@W(5)&8'FC6:C+N# P5 M< YNFVKH3":EL(R5#8RM7<G7GBT]W]Y=_Y1]=_WI)KF_Y[Y>F2J >*Y^\BU43*'H] MD0=' _6/RJ36=4,D\&FAH6Q[# HN0EN#>>2"J2&]YF]F=4+^+- MGRS7@RRG5&7F]!L(4Q'3MVARN;Y@GOS1&/>S?Q)M?+-?_AD $$.[$]5\ J@$4Q+ZGMF>% MH;MR;7'=);,?W(>9+\ZOKP(&E6(6J\S(-4]Y#\EOHH-F;Z;6&2X[,YO@0-F? MS@,.D<<"YD9%>;4.9!3W2$!*L7^9@X^A'BG_25K=IVM8^[2!8_/&OZ>6!X^R MD#4'Y%HHAB?:8F%Y%S[;R')Z2H=),3C.WKV+!TCY8]7X:!S6^U_WZ%.=,$3W MO&[1)#E1N$6R[C"]FJBME(+"A,5='=C4P;9YVWSC"S_6:*BKN4F+&"-TI&[_ MJH%FY&.*^/$,8O#^8/.E^4C;L*]U?M+5L-TV6E_=#*:SJJ:V4F>O:>-T>CNE MJ,"V]<)[Q,V[24S4AC3PH%MVN*>&@ZJ+=J.N]QVZKOAKU-R#;LV93ML3;]MN M L_A7\WEW_=N=-!/UJOLBQPO&YE D9BG[H@8T9K)WW<2WL-R M/WQ-+O_]\_7R=[,AL(1 KK-5TF@J3EU0JM1[18LIN&E1T-9/A23DR!=!\.3. MXKA.)Z,-!KK Y[^&\Q=75>6LKL]47+)*Y5(/+>LP!8>ME+MUD0)!E&14R1>@ M:\:-CS2\"+9\8J0PBZHMM5+%01Z.L(6(WK9:W+_<7\:&+.DD1HLK 539&'K'52A9?[BMKB3A&:P1NOPTHR9*T8)C9 MF!Q+33-C:':73;4G7#V>-NB//%(;FZ(PSNIV1AS/S75H/1#!H4CY>;3I 7@\ M&[2Z13KN]MD-!RCQ;DG=7DR^(?(P5RM7NCN6MD(:9?$\G6S-@\(8.,,TQKUE";8)4TK3IH4ZITUG\Y M*DEQEJ]8-DA8[BAS ^?2K[SOU[]ZE[+BV*/%^]LT'+S@F%23SPI8-*ZB'^G: M]7U=74$9 MR9\"\=\X=5-WCH?7ENPLUTS]/YVK@0JS:'9%'JE-#-#TPBWB"&XD_BA79[$5 M>!G $DANP&9YU^$R4!P,BND(R"XJ/7*)1<;V/>6+DM"-Z -E3ZY-[\3&B2"PKB84E4EJ2$]<4MJ+_!L1<+C:KG6-O]'+'/0TCYMI0:QK$ M$YK*Y>%U&.ZIDXQ*O[G1!K:+X(Q7><3O YR9 MB>&174Y,(O]P%;!6X-.$W+0 J+&A*D!(F]9T@*BY2OV!42D*Q7^$R[.C )+& M3,F8R9K!DO$=9&$=:9>+/>,6D!-#">'PV6('\[?P\H4RVPV5+\2VH8,TI (8AAJKTNGY40"-I)GO!K+ID6B2.AL$%T9QW$ MG^>0K3)+P&:6HDT(6TM2=%-G:@8L*:P1$IH0Y-.R$,F+8P:LH03BKE,\EVT= M0-H/[W[\\$Z@+?PE.T2%S;_Y-MC[4?(V^)%1-)HC14Y=10$?Z]H:1D$GL/> M(0)K&GY!G7USN7$!HOCZ;"NQCM$=5T+LDSLQ7W%DGCUT#XAF"2F^'22(RT:% MP>V0Y0>(\P!)'8!;HKWIRD.0 W'E!<^A?L&ALBY(@[F)PHKR0B?M44]M-,3N MNYC0^?SAK^3J9O';@Q%?OJ41Z'K' H@SY^/A,Q]9K_T%1Q6.._YZ#K7UY9LN MU1[>BA!ROV]OG'PT-*>".$8Z*--E>PYXDH0IS/7? %\"S_ZDK$G&&U+G?/ZW M/?PY;@#SNB^)4(9NP!FP7F8>*R5NY@5!KO7*C2"G2&&=0@/DT'"J3#[DLT\1 MAW*)D%U"]"BKC?_J[46:N:I&\BVW,H]2+J<'S:Y]'CY\.6IJ =JS.0P6A2^D MG$"^B&^['A2_S[+ZED$_H_Y K) '_Y &5B:N]<0',2 -JFY/"6JI6.0$\^#C MAO,4XQ.2*9B%SS# M-3VAO9-H;RFT'ZF:P!,'HH =?F-N1"^"9U61T-*&R$-6K5SQVO]Q*\3A62%L M^[OJ,4DB:)XYG*BI6_J]*Y=%WZZ /?3%IF$HGMH,'D,N702-8O9F;L[""8CM MBJT<_C.7"!Y0\.'$@2\P_[/LF*9A5^31VL0 A=NU&OT01W0C\5N?,^68S$C* M1OA_GI&9N!_=!$)OJT+O42(>WG6')CT11WY#!=HZ/K!)UO#<]2_<$XH859(8D3(G@2E*VIM*& M1C+*&^ C[.$(>U@>&&.7& /P@:I,,5Z%GH_'E^941[NJQLB#OUK)DX(])RT1 M!W>-P'TG"QK*+AY(2<6=323U]B[HBC(&VX2P5[>T7JAJQTNW+_(P;62"ZHIZ M)1T1!W$S^7LN%I>P2K;A!3-3P_(XEDA53K;!@:IXDL_0DOPQRMXI3!^8C=\P M3-X<3&8LRL5-0R+(P:"=48H+]B84$,-#2T7:1\=C1/)O@)X^X0S%(N*7,'/3 M?F-EM<:U#Q"!&?W6BI*'/OF<'G;UXN,V)/.']' QKH]1DX30B !R\&ANC.KI MA*HW8M!HH43/$XOLJ#Y]N<;P.?V(-I$' N)^5.XP/0QI)$\#/-=Z=#V#!^NG MMDB.(N^I3=VGBK=0-;M.#B/4!JA&A]-^D\*%"O%[1H2$$\E8X5EH#&"&5%^F MU-=0K"='H&Z#/85BG\E%=XG*U6&=ZS"I>"Z3N^= SK' $\#]ZFWRC/Y4MSM& MX9IBLG%Q*8O*S7WY!-!!!D%"LEYH@+0\;)0;*L[YZ)!\:L4KN8VD8 T;)$Y690H^@\.6BI M,D+-UD%)STE!1Z4"?6\9B##(Y?@C XA!;"&51A7SR<+ESCJTV@?(^DTNTA6J MZ^T Q)TF%=\JV8=:^\=\L.P ]JU^JN>N7$]#$7VYW7G!@=)[*M[SO,FV'[4M M54EB;Y#JD%?WGU3T:ZC1,Q D'$G,DN1X8@&% :W"\8%!44<.#W!G6\S^ M'ZE/5Z9J-9QI2]E1:7D^G$])8;Z9T M6FJOM@?V@GOZ"K2OGIY6V>,>"UEV<4@[:4@[LJ8Q?"S?M80@A]]L+LM!');+ M(G5OW+0$RF,0;;(],HX#/O]RXU]WLCR*2,4!,B)(+.^;Y/?DO/T ["++%<]9 M1@%YCE6',N6@^\A%_X;_+E(\35B H1,F).8R+GJ.I/EO1U\MDMD5U-2"%!,H MOG^^#Z-@2UDRP3QHCS-U5)!B;D>S5$^P*DE,:H:EITG/4ZR$*7GF7$G"=I:N MS]"\J3ZL==+D<$:?J+_' AOR=4DYVK79O5'WGQQ4U)A"XSSFM/.DX*%.AT%. M96)^&+=KAK+'HG JZZD5-W=, RO!W-68%@XI1WGQ0VU&O1 M>RY8=FT,VV[,<,9(LCCR-\B0EYY66*T1 >28T-P8[4I,(T:$%DJ8+RD]#%X$ MD>55X<7(IM*JLH@)0Z[%E;8>RM=7$YHFIF@81P-;*JA,#V-TE!D(:U+6TRU? M/Z3U,O,@J.=J4^J$5SS&X';N)WF)%L[+S@//H[;XCA:KZ^PZK<*,[2@A!YL. MYCDJ"MN4#&*XZ:)-AQ*R@B>![X<\B#OO"5]Q]I1QAB.F:_7M[W% Q;R-<%V' MCU\N#)?!W/[[WF6T4."+6Z6N\%TC MA1I;$Q"F"BW1LSAC17HG58Q*S@>#EF MEJ:OS&3]NYF $.-%\,8T"A=_8X42'!#5OSLQ@=CSY79P]C!3HI7W7;0[3PT? M*HU0B0VE/:>$"]4*](D)\G0A8V7XMLM(EH@+;8C:0:X?<2(NO&1D\/J+_GJL M\X(./Q0T-T:[70[$D-!"B1%W-5!ME0YE$[%5NI=FB)<2>+=)KUS?\NT>MDFK M"4T3.#2,HP$@%52F!R0ZR@P$*"GKZ6Z3#FF]S#S&MTGCR=ABE3[=73-M*[9$ M#A85ZI6M+G+-$(=[E;2=UPU\U9Q2-;U"Z%/![&5Z2*<-HQM,YJ2*/$V6F0RN \*KMR$P)2&- M(H^"?(!2^4%S]?^*F!;L1JK24;0[XT< ML1N:H?#LKUY7Q"C<5(.VX9#G(U$4.)$<*^.) T9,X;BA[07AGE$ X$5*S", MFS$V]LY7=O?==?@\56&VTH;(0UZMW%&IAZ-6B .Y0M@.A1OR%1I<9T9N3Y^Z M'2[=]29:K#Z',F-Z\0C5!F$?,EEU7@79$P(WL%ZL MJ_[6C2+R$.[!7/E8[T .,2CTH57K8I[ ^RQ8G7'N\HH"2?B+NRX]I>U0T3>K9.$[ M#YN 14O*MD+/Y$CVR'#ZO9"B2D.UTZ*^]5VP5_5MH$'KTO6R(F\ROPWVD9CB MBER?7"T3OE8.08 S'I];Z=XC5]4=P1:+@KX/F;X2^!(^!@KKCJ[\\9<-3QO( M/!5 /@;GR%!1--D4%SZ#L@S.@JTMCM,BQ,X#/PP\UY%+1M^YDP6MQ:^+57RD M;'D/_"]B"5AWY:,OVDAQ=Q 3YN=UO1!&/,/K5[^V@?W1"EV1K9EG.;U8O$@W M8P #73[Y6KDVW&B7;S-QJ+GC]&R.,TOZ$GWD&OPQQ-?23HS7'.$=OIC>P*"% M#*\5-[J8HO7<(2>PR![+1!:SB;S0@$2IV"23FV2"R^E7)CK)9">)\.0+B$^$ M_(;VI"?W->$9">YE&7:XM%!6^+UFWJ7?&SGN-C1#84],KRMBE&NJ0?N':P0? MN<*C,(8@KYNF->@^[3"OG!;I]IUNH/X%50SOEOM(9D/YIGRV;IBIZ3(]KZT<;*K:3\MO^\/@E'A^N]C\H#..SB)8 M3953*J\A73/*Z/1#'K7:JA^54ZKNA#A^]67O4%$H*Q6>DB_U[K&V9% I;3:D M]8?CAB2F&NB:PW63_E,,_R&&MJ,G%(JQ@6N(-V(7+&#Q2Q XSZ[G<;VOT_KN MLGB\]HJS*0WD<-'*)'F\:$0 ,6"TTZ/]9#A]7D#R,!<4:FWKU[$Z/9$'0 /U MBZO:VFZ(G;V)]+VY.*Z!T(@)S$7YE>6R7RUO3S,]Z_+":[H@CVL=A?,!7=4> M<21KB=VZZ#PG3@1U\HE:0-O).7%_*)SSXAQ] M!$/0:&H;#UXHG-M$-5.,#6Z(0]A7<4+U;AJ^B .9&W16Q=4 MR#-(#JW?W 1A^ T!3@BB>G ;S&U[O]W+FM'RH;XRJQB)\PS(%JM\N>RXO/9Y M$$:A2"\0%<"32Y\U\]#.1)%C1#]&RR-(-XJ(\:4GQ5J758*'(LY$,?C*ZO6X M8NUCWA9U0VYWJJ\EVJK-UBK%(:7%VGRURZK:3N@]44?IHF=6]4#MJ5J"M_=<(#\[KD>)8;$RN.;& M8I8O?;9N)#>#?$>^"[:F/M0ET5Z+-*6!/*);F>3HF$*? .)X;Z='AP.,A)O( MBBSPPQL;&B=US8B\ANBH.\5K0&'J\='K"9\Z0'"MJ#!9Q@AT?-R'KL\G#1DJK MR"$ %1,V0E-0[QS""DH)B3,2-_SCG%''C> G)097]4 .$1KJ%J<4RN:(@UY' MZO9#8HXV 9(S(LG'OXCJDP?R)?[7>'0/:@S*X!&)0LE1("QG"Y\Y8_&YL1KF MM_0Y5Q:4!3[_T99)B?+KD?^MFRNT((,> F:I360J_ H8:F^ M(V*$:"9_A^2C'!>8'R>%*+\(3N:18!P[/-@;ZNP]D8+EG-B$Q39Y/) U#=;, MVFUUM'"C'27D*-+!/$>+DZ9D$"-, M%VTZ+&9*2OW.XH?M()12SF@0R(2=\GAD)S;S8F:P22R>Q!8OV87PK%VTH:7M MS#R('0N_6!U7>!1U&;G9XJJ,6H#4GAIR4.IHIL(#VNU((0:GKAKU$7BG15-G MY+2R*!:8PF Q.]CN]MGC,8^IL9S86#Y'>3)/E![ MSP1P7K[8WMZACJS\GFIU:EQ]^.J1T620K6_CEH->7UPF@8>]*]M'X.>%(IE4 M)!$K>>BA ^E1:FQ@2E*@8<1<&S!6?KCWW2B$YXYS]A>S M1,NSX6)M_!T@!N:TF.KYGC'^4\/98FWWR8"HGB'*H;&Z[R0 3U.%/N(J5[\W M9H80D4:TAYNPPE7WM'6UTPF%O[[R6I5-IQ#R#80?IHHIEE@?P1#Y*-_E2YC2 MA)>9BR>!O[[A,RU'UI+[>/@EW6^?,VJ%6G. QD200T$[HQ0NJC2B@!@B6BK2 M^CH'9W?F ;^DON/C@60LB>")!C9&-DX]A(A2D#,^BU@%;"N7'&5':(;7&5Q8)#1LRT MWVXM=@ KR;.P[2[PQ34"L8Q)366)@\9'B[.Q#1^/!57FN=I'<"5K&[ H?K?\ M\@4JF^@E__3,8B)8U:=!RT"L#_H30+=>U1P>]F9$RD3R0I%8*G28B,ZXE',0 MV\:6[^\MCUAY*]+8BBPN1!4%)U@:DC?Q)K-(1. 301NNHIPT^\;T,5]645(4 ME"PI80DE-AO.^-I2G0BB=C2;XK2N#]<)D MPW3N"+]8.8,&PJ!VP:#QF5D.(/<^7VM[[G_RW]:6&Q_/O?&XS-0X"&9E^/*% M\N:,02*9R'/_>#@IU3=_MIA,&JG]\KK3GPPP]F3*1W0;JKZM/@AC#^G>C%>( MYW)MJC"4 M)\2(;P79P=J'2=<=96X@BPXWR"SOG1]VT!O:U(KL]'Z988;(P77N)<,]EHW$ MPBDG0C.222AO"28R$BFDK%&.;KL-M_E%IF9L;1L/^BIL9$?ND^XMPM;$)H.; M;8S4:+%72FD2B-=*H2&7<1R]8N8( JE>RM;(@:1& MS9/ZUZ=-$4-!G<2=JNO.Q%0#32 /I6L^4H.TCK('W'BTAH;2,TNJ)Z=7H#]9 M$=R.T9L@M*.$/JA;FZ>NK'@-&=1@T%Z;G@N0S[+J C.2L$:$).,;*H\RV\0@ M)8B3E!0P,R>XW6\?*8.EV2Y@$5C@@:[%GKS"E)4=D(-(O;*%FFC*UH@A04/H MUG7.!&FY19$0)PEU=$6\%/:IZ8+<@744UJW4A=B)M<0>JBY7C^>,(8MR;LQ_ MRUR8__*WA\B*Q&%$=IG \N8O[C'TUK5%ZK1:*H*W5C9$Z*9Z\K;USSQ!\@5( MCNB1$LWS(EP$6\OURRQ0T1:S1]:IF'JDJB%6CZR5MQ^/E$2[^V1([6_7P=-; M4164':1;QK]D7AG_X6]"XKS*A0^0^MNI\.!E*)<&W=YO/M]?+R@CPL MY\O+!_+E$X7IX\@+P#[5@=QRAPC@;S7===G6 2=?#LA+-SHW,F2 MZ[!7$ 6DP'A&K)*"J?$5+4[(C0[?#A)J9: QF%T*- U!R#C*85H_W]2D+FIT M0XI+31776$O?3""I4%OT =;4-Z93 E'8K!TEY##7P3QYY&M!!C$8=M&F_?Q.HF% MG6+)UEY9&X2(52MJAU)M0%3>GXP)AV/O-2="S'TG$4&YUUS5%K\OJE4\GEVSPZ:S8MOM@@K2Z@VWXP9(_4RM3+K)5O@4^_9:N;"#;JPYDJ71 MW;-^U8ZI_=QCO'RZOX8D:FZ_1X]>_WKMK_8A-^7=?KNK""*M7I@C2U_M--SJ MNV"/P08:#!J87 Z1/B\%(=>_0ELA"MF!++ )OI,#AM'@'<%>8(KS@BD2+D2P M&79SO&+3:4P#5/@""0]A1+=# =X=_X>[UJ\N7ZO! [GAI\!W.27NJ ^"L2X& M-B T&5AL:IQRI-2E,BGP;*S4?^&I,1,>06S,EPC&XE7LD&2L2^Q!5E+/ADK7T:N?8%C:@-GEZ+PGK=,&-N \53 MA-7H@QU/FZ@P*'JN0!"RC27AJ\98E,3'1P;),>PB>)"$"4FY8$ _#/KW"&LU M1P\?*7=+*LKVR4I]&F>;?=+%#(Q]FBY%SCZ(8H?67G5L&V/S+>1HYM\"I^E! M:&2]S BUF)\\LY8\Q!O*PU,[EC0DCT+6N(ZDK!PY,AZC,*;&03.1DL0U3*4L M. Z?\9A1GLG&NZA=SF;KP?["#7=!"!>/\JM"]F!&MJ@A3(=#MBQ[/&>G2'M<*C M">)1!'^&( MG]8;F3^&HM&1*=O20 J8G4R2SSYN1 !AOE0W/=IG@,!V)0\-Q5V$+A,!YPE> M^(JK)H=BI9:LPTOAH;H]4O_55C4;Y"L:HQ_8=63O;XW"LAJWT<:*.'Z'9,<_ M=(-]Z!U@_P9>/7+@U:/X/3E1.>G1<^-+-E% >)SX(7=RL@X"/MMEZ>27?Y;L M"Y$5__OSQK4WL',4NHXHO<3[R\VDI-7&@@TDZH-<5#R%Q;NY(7'V8V\B#?L] M2.))L?:07(E=HH2^B9G#&.KN$G4+7WJ?>_.Q7=T*,_JI MU4HQ[[0)=J2KD!@7OH6)H+S5621%'1F-!K#50UZKF*@!X!E:LZAU%W)Q[T MN/2=JA@>26\OJTHP(SRJX50[GF8-J/M#9+$(F_:/=.WZ_M &J+U7/:SJXK3> M#$AOX#VQ:[]2O[K]WH8TL(-X&Y,40+T) (N5)OB1< M#57D,6$9\8*Z78*1/6X#5>IS[=L,ZKU?[.DR.+?"S7V\UUB[?]X/6:2PT;?A MTIVI'FABW\KJ4\7N>U]NS% 5:+";+O;FN2S91GMQ3W;D_2T,!JR%ZQE))"$7 MTH(@#+DO6-#D)CX&*R9LM+QL+,B_H#G=X[H'K*S3(S<80@F3!_>:AIPG@B1P/E]T6R#%(_\25K-AYJ0M'2/ M!H/Q$@XU'F5FJ6_MX(8KG.DE5H*GZ6ZIK+EQOS_\F M'H0-%_LHC"RQ+SQW_H/#' S#-;MTW:DB#_F>S);'A8XD$8-'7YIU6NZ(R:-' M$EE(+(Q\JCDD\RAB[N->/M/&QU(A'E\-D;#=!KZT0_Z;7 ;9H]9QVMP<#JS7I9=O>B6,',#Z,UX> MP[I310QC/2K7!Y))&73QZ^A1^E@XDI?.#+ AL.H#O#]/@ATLG/I]JTA#M>2+ MDM\3K XY8KLVP#J(!>\HE9YS]$D<*58-8\3<:TH]4<:^-=:_HNV3S!TW?IXH ME+B53^Z%"FJVY=E[+[VSYL@9#KF\>R!62"S"^^R]M-[:+HB@Y)KE>8=L7D)3 MQ&.I#B04,;X'+8B5 P^R#T7I#$XL@MV4/3O$;;5_JBZ9'FSO*1 $OCL%B>!UT]-%D]NI&HR9&[C8ZZ7!ZE:-5 M(\4G,GKM,IV(G+7_@XQGHWR9FN/;\G1\6ZQ(3D(B1)SXB#>*Q7-,SJK\N<_+ MUSR\DLAZ2+>K9!&L.*DBV.[V45*,P6*0_1MR2875%+O3DH&-O^1V?, MLVS['Q#;R,9_5WN(5!W%=F1?M)&"^B FS)\ ]$(8\2% O_H9AK49D?*8V?G' M8\HC4$N. D1AP/[FJ#T<>#[QR4; #O?6\R>+VY-2I8K%D\:2 MAHAQHUK>]HO8F.J,<+HD)3PCO[ @-':B-X2JH-\VH68V_'X+V!_7_AT+;!K6 MQM]QXZD$8*F2I1%8:#F%$"P7N(<8!,*P%1B3QA&%_6J;J+B3],P&XI7KN^&& M.K\$@5,;B,>-IQ*(I4J6!F*AY10"L5S@'@(Q(4P$91QQV*^RJ890S\]P& KK MUJF?-)I*V!64*@TWT6(*8584M(?P&C")V]]DW2QXI-I>.SN<,?U@X+4EW_?RVJ&2SA>55BJ07?DP=K4$/D MUNV+.*@;J]#ZP#PF/R."@8B E 7Y(IB-$@I*Q3\>EISM_,55#4]Z/9$' M0 /U\[ZOT0VQVS>1?A"/GQ'@0[X )V1N#X)=!%O+/D(=),Z5QEH9H>V//T]!5H?_U# MX\UT._"\^,GL8,5_DT+!6@SV$?$"SM:#DE\SXH!\MBMRGBUX9RF4Q"'Y;1_F,MP9%21F M!$:CB/IBF0[T]Y'KY5X;R[,S\^3[\%]JPH$D+ CG01(F)I]['U'W,-$=G& 3 M,S$R2[G:,]^-]D+;*_<%?@HK9RV5'9!"M+ZR^5F-NC7B68Z&T*V/SQ+2(F(3 MXH;G0:/H"U&ZBHF;64M S;)-X#G76QBYY+6EZL5%90_D<:JA;F'YH6Z..%)U MI&X]I4]HDSQQTTN6411V<\2-Q.HGR]ZX/F6'_,9'9:Q6]T >JQKJYF.UHCGB M6-61NJWKIK2/SRJ,!NMX&M.$>H][$'PF0!WQ]&V8IO&I-Q\J6R,-/TTUT^T& M=5/L^PP:D@^ZP; "_LGZWO7/XBS.D1?F UI!D":2-KGVSV+J)I?B@VM[\G7B M.AN[X?!X#=L_30]8\AV1(E=SY;4.QM)>B*<1#80?*/\!&!'!R="\8D03%&<7 M,^*?5D8V&^55.<"UG:8:WH>4XSJ?M)M:PZZ#:;ICZ3X<1RORS0>YQ*] MS>>J>W&6=!&?_<"$D?_L4?B!VV"^#5@4'^DH[:.P9X_DD:-#WX8LW*;OB39B MQ.E=Q=9)QYD@)"\)/$$2RR*B-R_-C!PAVJP(:::RLE$:UXMOC3&#&,H30WLI1)_1E M1_V0BI*%I=,<,_,;1JW%"O+!5!B9;X \E$^5*.US%[LOJR75?7#93"W>=0R6A$WJK;(0ZA2Q<+:O:PA MXL"JEK>U6\94X=0@IFLPWH;1<0F7C74,- L@#M[DQRN\;UO5&'.(ME&C]%DK,"N) ,CL3W$C& M+CE>,WD!L<(.'P^?K/\(V+EGA6'%1<1F%)#'2 MS%+)#];LCCI(V6G0IOU(1 M&H\'(A@2P='DE<4*HV0FN;6VU=<7FU.9;L!4F44S:,I(3#-P*C49)GAFA= ! MMIWN/BJRJNXL>'LAO/8_AQ57N4I;(77M&K72[*G3)MBSIBHD'C1;BD(IVA#* MPGITS5<*#)[@)&MF^;"=S3$>%@KKX(DR7V0D\"[PE^#9IRQ=1PC9);6=%[AP MYLE90M$4<5&*$2NII2>*G5@@@QLXHK_+?3_<4=M=N9*A9SW/R//&M3?B8I;K MP]VLD;.W!O@V8I+DC*,!X61-IFL-JI[\POJ'L:N]YQWB+5]:?E-;H_D$@*U* MT6.$*VL[$:BK%/T?&_-68)KD (*._9[1D-]/!A."/$GI(X##@14^^E*'F.?5 M9LXK6TX %NLRYLN;300,C63*H\?!K :SJ?E?O]]*80Z((&U_<#6[%=%6/@+* MM?+A1<$+^D2]8$>=I 1 S5)7NR=F.&RF?NZM39UNV.&RH1;HX=--]2%.HM!K M6DB/]'UE;$C*)RM88G[!/;X9,F]*:Y<,L#2OU*MV-MJH]V0AN7K6JM]UTM \ MT=EM*3RG ?7*)KTC?H&U>(U@W&% S;!D+-S57R36[(H^\)@;03$BXF<"%\D;B M#Y2W8_Y.^2A6*,FY,'6AO$+?JBOE&MVF&^7*:^5U?:89W?WQO$+;W&U0C4\8U/7N0V8 M*&\"J\($X]SES FP6!V;0&&TVD[(H4)/Z<(]T,H>B"% 4_#6OIR_K1RL3B/> MT"72$;7.W=%V,^VM4NU-SQ*N]J(&=D[\2RG]_#&,F&6K2LYT)(D<#OHPF.8< MHI8>8BCI1:VAYA6W-)H5)A0DE@!>K YMRR._4XN13Q87U(T.Y$LB&;[-B.&- M"?1L,?WP_3TW35G-"6S056*/>PI75QS*X/(F?,?P%;>8Y^E3GBZ0-36?[II( MD^PT8:VQ=H.@VXRD\5HLC9/*(F\4IRB'#M%&L^.#^T*V@1]M0D(Y<:@V9HN3 M&_+A_8Q (LD$8.V6OD3+9^H]T4]"E5[L74+T58&9RFCM<>R8XJN!,*5B@^WY ME$[+0 PBY2!2D"G@5N_&XV#Q_01 ">!Y^1ST8L.,UJN"H",3M4>>F-"K 9QC M?<;%&;'NX^RG@"Y]68H'^P]3 17.655KJ3VUUP3-UA!8@];K I:"1"7@! M 28#,+U8BX?^CQ.!F"MN]=ZL%Q-[=0"3-U(W? %*KPI>"@H90!?@/Q5PZ<56 M/.;_:2K8PMOV9SQ)[/5A2\Y(';&%MWU=V))7R 2V\#Z3P98^;,5C_I_-9-HL MSJ_G4<3I":\OU M0_%BPQN/FY6&WQB!GGMJ0\5'=^7: E.O>"3. ]L]WS.PX9VX)9I8LLS*BB^E M#[K(8:HWT^7!JS-1Q)#6GV[MKVD7)2#PC1(]^)N16$XB!%Z$^&3,[C_;B;?,2OA?KG=><&!T@?*GER;/FRX^A^Y!@Y\U?Q[EB_X>$(, MD1G*%0O6/F@BK7@>A+K5__OEA1P%!S5Q^9L"/3)"C);#ZMO'2P6)7"06C C) MSJ"A0_*R\65F*AUTS.2+L90("8V^;2!!_B'BD"L>$X[%K7C+H+H'\K#54#0CM3M;_^)R7U*G"343;X[H%"X\I6!NC[3=&3U"P*5':;GS#V]#E#A MSAV> >CLT# N+%8/ED>K*[V4M4/NN$K5\LYZT@BQ@ZIE;;_;$HH5EJ!IN.#+ M<-HQ^D3]O9E;%;]0GS++@Z=+G:WKNW"+).)KWGAKO3+F=/LBC\-&)LC'IE9' MQ/':3/ZV7AYSD0_8%OB8B6-L6H^S#T(]3F[-E?YDL3]HQ'_6B7"-;LB#6U?Q MPD9#31_$(:TM>NOEOQB)P:NW"0,S88Q!TY$.:$+*'7[#-8VK/L+T7"=Z]7HB M#^ &ZA>/46J[(0[C)M*WW[B7/(2+.QD7,^&,2>-1PKJ?/=V;FM*,_7-!#A<# MF34/+3VS0 Q#0VG:>DA6'"^0.6.CP4CB'B-\S)'-(_9L5N8@%NOO@D M.C-'@?W'V<<3,YM)C9-Z4Z?<+/$(H0/P01R+@ZK;NJK8W_=064U&MM$#Y72R#6/<8@>VJ=Q$JVJ//,!J M52U=U1XW1NSJ]3*W]5=);)BJ,T^4/0::*\+>%1,4B4*]L?:S(^9"R3(ARV?? MC<+[A\]U.]F5?9 'HI;*1[O7Z@Z( U)/[M;[MP^?C6U.#ZE62IW(Z!3T^WR, MFS+Q(AWW4S'FEZE3\4!WD]Y( [&E&;*'O+6[8G\2L84FK?<2-FY(MK+$(O\I MC"S?D8\/YH2(MQG+8V#L)[;'LXVN!/H=?G=P-'!;X#)J#5)D#YT: M:CT5S[(6^TCXONNOZ^]Q#\8,*3*/8^1&VP&M."&>E VLL,'#O%A _D,F(HH; MZ5A-;GSQUZ-A;O=5B8L#\/G'0="B:0<"3\GD'P,WCW1%!IDS(N4;!"OE,^.7 M?N4U=GRFSH\HU!?/I,E0I*:*@8? MC,5H;$$_)&L@3:>/H7PELZ(NO&&5VFF@+Z.,896:=L- M0T]3;,LQ]&,EAN;DRX#45$$JC,:.,=2&[66/.F_A# *8(,!3K=3OV\!_HB$\ M-2P4$3F:^<\A_?LVB'ZGT7%B.+=F_"=H][XNVV L(9"CL)DOI?$5D]XD0(S= MA@S1.LU-OR!6*K3$\[#L:@H7FAQHE"N7-4OJ9<$Q:DYTQ!=7\'P[OU%WO>&" MG%E/E%EKFFQ,!"M1ES4M259(>;?ABZ#)(XM10!ZAH&O2]G4-&ADEV4G4PEQN M+#\>G,=V PUY_E&'$MVO:I11I4Z8?\0!1MLFYL>:LF$F3RR>/\O*N!%7076$ M./%19_"O['/U* -C^C[YIBP0PZ-&2*;*]$:TQ)6R8L#\,0 ( MMK%B%48LPL ,;ZR06#!O!>7-;%GSJ'L@!0$/= M?,17-$<QZ+!D%A^(;1&Q'P_Y3RKN M&C%M%MS?B$&BA1/L+'_*I"4'1Y!7GO&:5%Y1+&T[(I]67@T]; M3<1'>[J8>^2+'6[F*BX?/>Q#]^;F7'V_Z+@!4K=2*Y/>$BI\BOTB4+FP[=UH MQZ6$R^7$H9'E>B%,4OD/(@>,KZ,)\..3@)OSD2_U]*MGJD6/$?*;Z_,5Q\.. MP2LY5U[ 7,>ZLF"M$QW48:/5"W,LZ:N=!EA]%^Q1UT"#'D+1]<6M*C'7SH=C M(")2RD)B868D%H>L8GE&#M013*/2.&&#:#U]4U/8L;X7TMAOJ';]VOIF H44 M=24?8HU]8[J\X?#*\W_ZO"\O\^$7JT]\9LQ/\37A<4#J]4 :C W4 M30?AZN;8!V!-Z=OZHB0/&04AW5EBRW8;L")VPHL$V7V)D8?:T8R@TMW M;7;C.N>_[P' JJC/)4QTZ'%NM5:'*4!5I;(G2%7:>BI 52U\CSAU[*Y4LC($ M34.K+>B3E &).1@$IJ$U]@/_3*9 PZ$+">09)5\.BB\^_;Y[A*9/7)F-=X", MBOO3A\(533##CT*A%'"./L<.,2IQ>]AY@/V%K21/X$,BWLVVML&>_^/L6;(K MR%UN"\X)/PL_'!EN^C9!3$\4L2'WHRDKF]T+*6R+> JD1N'VASF08B_<^$LJF2G<.KJ>O3 MB-+2R>403)"BP[!&35<7O7/ OCX93N&>5CC%U0L(^W4H0A9"U\K=Y&92PEQ9 M'-OB;RU'8F+@30%VN[\S@8?GWW_ONKXOL^I40D%BE_^3X\'HU"$HLE1Z6/^6^2BT82V4@BG(&5'SX#)S9+(D6. M9R=A,,!^^,/>MKDYN/_GM(UWV:JVX6KZ81Z"FJA^LDE>U0G[0-%(AYZPW\]V MT%.N*=)\5X*O; 0[-5:7L2JC]@I'I1+E3(T_42K*?PT\ MHWUI[8>83(AIC".]>GINQ(B/,I36,'9Z>4^W\F),>K+3X""HM#/28:*=$>I. M,D][3NPTLT*!CFAQ! PDY13_OBPYUS-WICF '3*%LX-,47,5QA=#)5?+5+]\ M<<.(\L!9K.YIZ#I[R_O5\O;TE[TE"F]75S9I3FN" *%MHCJ\J"4T,?C0UZ?W M_(B4-4S;$N9$<"_(E8OSWE>6%IZ56S*'->&8[RJ:8\4EQSFPL,=N3,-LZ M88\@R1%JU&EEF<4-D:.*6CEU8B.T0HP'%<+VE- H*@.:B=I!E?.4RAD(M!O7 M>H0+X"X-DX3-BSV=/X95^8P-24PJ./4,H@[;ZOZ3"6A--?H*]1R[+(^9<([D M2\+3T !NR"SR9A*:54*B]R'16BYO'#AKOG)#V_)^Y\N:!G,@;8+(P:.[L>H6 M#7K4$ -+#TKUOGQ(^<_BNO9WENO,2"H%3(^E' 0$P;-V&,EP#^Y+O/L-3T!2 MAUQ06SYG_^']#,ZZ/N"%)@[(M_0E6CY3[XF*&US5E61:D7L-L%1AJ,:@5$)K MZI!4I=*0@)3PGXGY#XA I Q$"H$8C(8P6=N#]=' !@!W^1QTM%M&Y95 RY%9 MVB!*3.(5 ,FQ)N/A!W"&]![$V#D3=,:,H#( M:P&-@BYCPP8PGP!P]&(C'M(_HH>.DJSU#F1>$7 <9YVWI?%*8*/'W.+&J#%^ MWK Q"_%8_B?\F.$^]3';B,F\)LS(&:8U9G :KP4S\JJ,C1F<]P0PHP\+J9-B M42%'1W.]'J3H@A"O !G&1X1A< !>P>P#![K'/TB2EK(JK]AE'@D^^XX;VE"S MD#J7+W#)=RXJ&+:Q7@6M*6-$G8FT 4-%:*KH4:O/D%"29TXD=R+9]XLK/TDC M^70-CTBU1I;!;'6]W>W!!.+=#XHJU^S0*-7F@!\F:M2L3Q8[( [U.HE[*U^9 MDL91O[(_3>_DG<,XS3J]/NRI]!UG] _"4#[;NZ:^[=*P\AE;56/D@5FM9&& M+FV)."QK!&X]Q'*RI$#7Z%.U)UK>U#T.5=5A:MYZHFREQ]Y,X36H>J'[]-P; M]0-0'6HSW'&+;,2]@.W6C6 !I\B7KV^-U",UU4Q+)JB;(O1%78E;#_\N;1^<68P?^1W&156OP5_=%'HV-3*">L2DZ(H[99O+W M-(\[D)B/H>/!<72F:\N#Y_- 'F(!D^)S5']^FPG')[5_\#\F?XJ)_.O_!U!+ M P04 " #\@ -7VR-=E.4R !;? , %0 &ER;60M,C R,S V,S!?<')E M+GAM;.U]ZW/CN'+O]UN5_T&9^^&>5&5F]+ M>VLW*=F69UVQ++%)TBY4B<[MH$FNOL'H-'H;OSZG^]KL_<*D -M MZ[=/@R_]3SU@Z;8!K>5OGSSGL^;H$'[ZS__XE__SZ[]^_OP_ET]W/E_N>A]_AS2N-0< MW,>V>CZQX9?![B]7(3W;^J5W_G7T==@?CGIGO_1'OYQ<]![O=^WN\? 6D-?0 MA-:?OY#_]X(_V,-L6H[_XV^?5JZ[^>7KU[>WMR_O+\C\8J,E)M$??8U:?PJ; MOSLPT?IM%+4=?/V?^[MG?076VF=H.:YFZ?M>J:^$_087%Q=?_;_NFN+/0\: M8J0=^(OC?^_.UC77UQ:7CQZU!?GI<]3L,_G5Y\'P\VCPY=TQ/F'I]7J_(ML$ M3V#1\P?\B[O=@-\^.7"],W8Q/LE(KFS+ !;&\:5F$OT\KP!P'1&>N"348>=10_AO*^!"73-+X.V 7J., M[G[CS!:S#4 ^EG(JD$9+&0:O[/4&@17^/7P%MWAU7X/BG&8259GE$N L]P5E MA/'LVOJ?*]LT\#8__:>'%]#B[&?15)CADI7/_8 RHKC2G-6-:;^5L+;%2-7( MWC5T=--V/ 2PX0CQ,!X1VE!>4ZR^C>F$QW; M9=?0]+#I_@#<<"D$Z'F%IX2\@MC4&F'RUL+2=FVTQ0.28RC9LY'!/R(;VR3N MEAC/>*7:D,DLS0>52$/ZP(>B)7PQP<1QL&&90RT9!!IAY4:#Z _-], ]T,C/ M_E(KQPR%1"/L3'1\4O-,;1/*L\8DI(C5-M?P'B+)%YV*DA9<'A9%:39NS>5A+JN_2I9='IXXI%2Q M\O*IBTI&51,I#YL29!4RE_)PRJ;4H/V1AYED3U4V[&O@:M LOE_OZ"BR7:ZZ',.QWD6GA^*+32;Y9 M*$M;M3N67$R+T)-F=!/SEMSA/X;P'F;Y]2?_]Y-AJ?#,;#X?GH MY*)_<3;LGT<*J&AXD1")ZR-C=/$_X\&=#\_.\/^&YQ<7%^/1\"PVN#@^)B@Y M4 WI$6W\SP1DTEH)6WS=^'%JG_45-'=@6"![+2JV< "V(",V,@#Z[=/@4\]S M\/!L?X\F 7*UB/^_/0VY )G;)["Q419.*"T[H101GD+]#%/ZP3PN $+ N N$ M1>7!9\"7*.D$;;(C^ JO1<./ '\2+W[&-3X(,/2;:-<)[?(Y"G4[:F;NS9%F M!9X%[N0[;!KCY@+O4..3T:!]^A%B*E312;TJ"G;U&VB"!V_] E"&:@Z;M%HE M0LR$JCAM0A7$ 46XL=P';9VUC&4UZX!*!!@*U7+6A%K(:1OAN1OZ&/ Z>V5[ MEHNV5[9!UQ*S5P>4)L]?J,-Q$SJ<:^^W!I8!7, @;9*SY%':=T!O,IR%&CMO M0F,3P\#B=,+_X$,Q&%"UE=&V YH2Y2K4TD6#6KHB_A\TM]\LGH[V+;NC(0Y/ MT>&WWZ""_ 5ZAAZ1_0J#1'*FE@Z:=T=5(HQ%^JK96Y$8YZ/MN)KY_^&&:6-D M->Z.KOAL19I*^RTJU129[Q,$-(INXG]NM3:XC$3RK]FW0$I?F(\KVZ(?7 ^; MM%H/0LQ$NJC9B? ,=/_V9S!\F9/+A Q='#9)#G\P'HWZ[=&%$#.1+FKV(LS) M#9&U?-ZN7VPS0Q&)O[=:"WQ.(A74[#&(X#%]UU>:M0041TY6LU8K1)BA2"^- M> &N/$28#CRQ!#]8GIY#-:^RF[=:3]*,1?IJQ =P:[F , 9?P;7F:N&P&2ZW MK.8=T)<$8Y&^&O$&$-\ZNL(GK*6-MLSKA%VK#FB'ST]TO=J(!^!YK9GFI>= M"Y^IJ$I)M.J 4OC\1$IIY)@_70.TQ"OO-V2_N2L2Q*A9]!F3V;H#2A+G*U)6 MS2?]$$LK8)H\'<4;=4 U7'8BC=1\]@\-&'N]#N-]_00;9^:YI$0F.130S3E& MIR2+P_'H=-0VC4FS%VFPD;"#*T!2PLQ;RP#O_P7HT^J@71?T),!1I)J:'0BA M87D#'5TS_PXT1(^HHC5MM8*DF(IT5+.'(0HLV@_R!O\FR["CM&RUAF1XBA14 MLZLA.<0@/D],1;&V'5(2CZM(335[&"9XA(8_2E/+LAD2?V^U.OB<1"J@.0U^ M_7J8H% D;8%?^SHF/VK&PJ!/,A9VM/"_KV8/U].'Y^EU[W)R-WFXFO:>?Y]. MY\^?ZLA56&C.BT_0'_D"SY5\T$)-/-O=(0VN*3 MI%]BE (!H;Z*0D)$NVEDY.>X_4B9Z#H)^'6>@ XPYR\F> !N]A6-2)=.X4*: MT9(2L.)PV&=AG=2.C8."UUE8B#?IE.ZYC%$3LEHS]1\1V&C0F+Z3T@L +X!^ MZ8V$T"A:%^C9*3#DY9>:$=8VC$3UH!E@\)MT4>MTQJA99JU1K\AD[^ZT%I[ M:>>PI(9M5S.;FL!!O:Q'4PM*2R1??,B>T/0NBNI?>F9++[T[ -P4,S#[= MP((\BQ58>/L37['"-GEP<1T.>E>:C+="T#MT Q&2_%5@$3;I (@=: MB9EMNP$"<=;*LA>;/A$PCP+=4"J#%VJ)@]98_;%ZY=B\33]PR;D%$NVN#!+R MWO\58K3]AX(8^V+7@_0.RD"A%-4RD2+">7#\C3S!L;^5YRWU"> MKS0K5MJ:NW ($DA*\'3<'YVW'#0%>6^_%^H1V8:GNS\T1*K&;4-Y7)F:X\ % M! ;O$E*H=_=P4X3Q]M](1J\0_8#NZLIS7#Q5T*Y(.1LQ(EV[!Y?<7'?-F95= MUYX-&7:G[H$E![\5^+P:]WD*V[J4UAT$A@2C9?G/,A%QJH"71-@[TCT?MC=F,50IAI7 ?- ME,.!I.*RC L!#MM_#3,Q#!@,^E&#QFWT(C?-H9[=NGO:EV&T_14[VR'1"_.%G/MG7XG)T.E M>_@I0P#MOVA)BU'8]NP>) 1Y+,NZ5#=R,&?$H'*(J.Y(*LY_9=EEM5;Z>?1E MO0(NU/=6*;?LSZE@V9_>WQ+T_^U3A\H R76MVY8P3?N-:/G&1M>V]^(N/#-= M$($3W2-#(SE%SOLG_=.F-XV<184*BSP9)XA7["&?V9_!,@O M<\IW8M!Z=@8V>7FM])ZD4; $!7 GGKO"H_EKOXW007+8HXO@$.*QTNL/!4!Q MZSB>."""U@>"&H^:OB@K#0P,_BI-4!W497#N?N/,%N%]H&V)UI@<,FI,/L\G M\^G]] $;FK.;WNQQ^C29W\X>U*TV&;@?=LQP+$MJZ]K=EZ_ \JAWE]&?E9NA M'&DGG8X,'MI_"W%E.WB9"IFDKKNQ-FW6)9^1]M\H?$.VXSPB>T&].HBU:+,R M>6R492HUY[/;1_P8LS+ YL8R)L886),R2I\5" M]FESFMU+.0#(:35C\N?@M_V;]3,P,;DEYOI>0W^"F/QH'DAJA\XA0I+5]F_T M3UA%6+RDPO$UMFA,VZ]TQL8#LT_G("'/;?M#!5(R$[45.J=],0[;'U.ZXW,? MP<#3^;ZEK&;6JL> M@,NU/A)MVJQ>4T+J]&02@P(=#F9?V0VVMH>BXU/(/2^BAPP.*U)%=CHTCX 4C1 M=&!,\"BT)7CPUB\ S1:II\PY6X0L&>6P([%KE,)KM(JT^-)"5 ZL#4:*AG*@ M*04)^0'6[3V*(H5P04X)0PY@-"I'#C$IL52X_=49GIB1+"@8IS@2CE.\FMT_ M/DU_QW^Z_6/:NWW /T^5C5B,1;D&XB!/K::%))XC(T:E59Z-07\\&C;\DE9. M/8EY/"(&VQ];D2&2*!&8 V&!GET$15ZVNW "[I-;>#I$C:_6VU7U4.I'D1EG%5W(#D MVK\DLHHD/ $]+$RM!Y#8R8M24C$USL9[(GPQ\#R?7?W7[[.[Z^G3\__K3?_[ M^^W\[VW8:'/4NQ;J6WO)Q'!4<[(>\X;N-TK"?8#AKDY1$KY6DB42N7PQ-J'( M0!XVI[2 1;*M5CBE?CA3^Q(,%J^_.C M!6J LY<*T?Z=A$HQ[MM?G.5 =-?V&L\<6CA\5MM.HD*J+L&P7]OK?0)^LDVR8OO;QJB MI<=(4E$7,FSMIV%3!N.55LX>M?8-CL%P/!HUGQ)36+U9:XT0XR7A8@,P&(A3 M%[DJH$,P:8$=?]]A; CQ7=(VQ()&_5M1P7#TSD*"SW/''HZ]AJ_0 );AQ%QZ M5YJSHF""UOQ(X"'%?M%C*B?(L?XJ^P7>C)-^)ZV[&,HMBI(.O;3ST%D#+O;H MRM^9VQ1/LK]'D\MG/_8 R\L'P!/ PG>@"YX!>H4Z>0 %;ZY/0+>7ED^%]?)M MU9\]$APW(L:2RK&I,P>>@.,BJ),LV-U#Q?%'.Z(5X0=T5T1AQ+%.O6J0)W4D M6"U--&755,NT_DZ;1E]*),$OL*QS(5"8W'&BL)AX*BGWUN1)Q)=)((UK#V&^ M@VTAF*OD;S.?16?Z#I .'6KY(&DZ2?&.QL-^PV^/5N@)*RR7LDK2*;( 4H02 MS,024,<@=-RPDQ5,697P:.M=0] KPW??;>CP&2^KME7@H9U::5=+:UWWW86& M$-\1,LKQW6N4Q<*),U>0^:\OPQK[ERBX"P(//Y48<-YV6JSFK&]-^$WW' M]%2\/MCD^??>S=WLA[KOF,80LY,#9;:RF]9_L4H&\8AL@ESC-*?M] &667 MK,0T.C@\5U)[5)E;,7(I8NG0!(G A+E=SAI3Q:>.!YBU2:_]*3.^!!P\:GS* MN[:]%W?AF1-=)_8<8ZFC=E$.8[5!(7-YE)-3Q0MF_;6W;JU7+'@;;7_@$8!K M^XV629%N^ $D:>FT?S&Z!GBH.O35BO]M E^_%CE?(A?^Y?^>%OXFT/4#4R7( MJ_T)@M\T:!'1SJR@B D6+A:GNWTTM2!)RG]$EH(SL7!Y M&'7%ND%(-?Z 5BX)E?5$;*.OA1YCH>G?2/%HH%I5927*126W#DS\&* /"543M.I*MR6"NH(%Q[[E;Q?T#A0'A'8:-"(;-#PS?&)%=3HF3@. MH'KK\Q$[1FCEEDM1EYB:F/.YWAL-EZ8]I;@$^V?A&Z.ZB]0-,_K0BCAT[B&($D*8V2\GB5PE1T MY1#MY;[W3G9-8A$Y1EQ)RZ/2#%UI)Q0EU#O-YP\-(@U,^";VZF[ M^"C ?Q?]05>VY4N-) E?>8YKKP&*5EQ:%IDDE>YBJ4R!5) -VSBX@OHT'D)^ MB49YNXC2/RF_L_%HT/#[-G6=RP1%45:"JRJ%Q3+/&LA+7&WF.+!E4SA&<,D) MHZPDV0:7*O% [L(I-#-5#5016X G#(2MAB$E$%920E;LJRV M/Y082T 'P'#(DW4D4.)>Y7MB /Z!')^-?I]'0'64K*P*=D M6*3Q5I9P.E;]&^_W4?D]_9\>1" 1](J%PPLS%B=P1%@K)I,NW RG1."?8[ < M#(](%3!OZ<0Z'S&>Q.71A1M?<;D6-JN2,AQC&8XZBJF",JG@!7LU4'4#+,Q7$C399"I" MXK0A40*2V^^(L)-+%!7X YKT@$<3* R)F-O)LKXDMT(F42\ON2-"79D2JL3X M;K*NC+C8"]M*QP.Y@C)IOR5.N"?_(UZ15\T,IE]4YIS\86(9R5_$6@:E@--7 M6[KID0D[?==7FK4$3W@&31<+0+7BZQU$4I/GX]%92^JL*2"F(P=\%?@]3CBR MT%4T4CG]5-\'QE+2/E*0E9![3RDJ77>1$&^S,7U):F8DR5MK8:-UH$9.962Q MWJU=FXKP5T$$IZ&':!TT5$;C96@R,PQ+A.%*+YKK]V0\P>4* MSQQ\MO%OJV8OK@8MQEX.5(MQ7^GYQ177RKZ&CF[;C M^;X[Z)#J;GLRGQ)ZHU3''_3Q__4^]_:4\ \^L9Z]Z!V04[,B_@PM-2NLF7AE M6XYM0D,+ZRG&&9@M0N^39NY?$^"8DEB:JZ6X5C)!6166A=G/13N7?M[K[*K3"2VDP^ MNEJ YXIKI5?T>EC27-+Q\G<-3<_U7YD-#K"'[TIQUH)1MNVD]S3+Z(6T>YAX M+Z#>PY9I+Z*OYO(PU9!%GM:-!,%9#^C-:UX #@?"F_'4]@FX#_OCD].&GPCC M:20^I^6XJG0#K_S$LRO+'_/"<:;K27JZ[JC\>\_RZ:@Y+7?#C!EOO!J;U![R M#_-5,7[>#&5U46Z2QGL4XK>S=ONJV9%>SEO#%#)-WQ&?X M6=;.'!'K!=34GMS?;-MX@Z:)%7TH!NZ>+=FW]KV;-B3^%L[MF03^8'PZ;NC2 M*I?^DCMZ/F9;-\MO-(C^T$P/W .-_)RXAN+,\W%ZGA-R/9]>[X"@FA-]Q_Z> M"]HM KMIS=,X:S"\"XU)KH#E MP%<0.*,$9^QY>L;&B/=\ZKT$^=Z.OIH3.$,6V%"9+>;:.^=,+=2S[I#(C#'9 M+G=KYG539G+GT%HBS#$/GZV;[GXJ&35?BC/#+](SW*?WV2?8.Z"HYIS>CWZV MB \XS'BZLAW7\3VB9&Q&% ="F>Y%B=7]0I3H<"_CP^4M$ 6I*K-^E(.,Q)-0 M%4BF=2M.QJ-W[&5FT,\ZXONW8A$5-9>6':?<8SRS95.1RC*G=7J7)&B'X\'9 M13/364 ;F6')HCRU;B+Z@8VB"B5+YG@@58ID*BM 65\*SIP\TR%F M%XWZP_Y((!&G][> J+HV43M.42D2IO_HP(Q^DK0^#N@=]7N=6A0"Y. M?H:[9Y*D!4?"J? *NTOG%\)0#DI=0E19[%=:):&6K'A6FI?4?C-*[S=BR5[J M;T$E97TUD%CRK*^ X9E@MC@D^3]E)>B]+9D*JOV>5FQ(Y;'!IV8TK?!%5!H@;42Y."TDVF3 M4E/]-#W5&N;E!,7VA'DB+0;*27P6MFU3(W9M5(;P5F6S9>58ZO^'E DV38GC<:L MPQMH01?X8#\>WNC$4E;5W_BZE;L:\_'Q M(7!G.[(;7BZJRJTX.3-?JQ!#)64?FTB-E5I/+M+KB4^UETZ057\%*353MARB MS5X;KC>FO07@&:!7J(/LAQ GIC^,,#;#CRWZ"_/A/U3C,R=QL5CN]Y1;K8I# M@7E!68/TNF/CSQ84 06/+XH%TN0C=F2X+"R:UAGM87Z?Q#XZ&*3WT8"*^KMF M.])0\><)CL6\Q=FMD^ \&X].&YZW(HFGXIQT[/VIK)S;773?O>:26 FQ53X' MI59"I1PNZWD[JL:4Q&O@:M 46\A/A)\,ZOTMI*ONPJY\0B+&W^GIX/SB_.3T M[&1T-NJ/Z@]5>?#6+P 18WIC(Y=,CV>PS'I]C-]!N46C.B6EEQ])L92T69FU MAZVD$WMB3[G%[VJ?P%)Z\1%[?\>_W-Q]L_>R[2UW7^TA_[,M6)V.+S4H1T90 M]8O$//W>+XGYV:^;D'1YN M$H+-J+X.*_MM0:M+/71VBJC/GG9'^A-BL,J].8 M_]YL)?_/S^?*"F_1_4THF47/6\GKOK85) M6EHPFGM C+\#/=&:=4)K4LRUOTH"9:_ !C2XQ2L1[:S$ZZ8,%$K8$POQ7!)" M:&\.GM4.&(Z=&&0XD7>L'8?XK8RY]I[/TL^BU!98L3&1AE99HJC44SQL^ 0^ MQXJ4/76GBI )G;H)V8^#]L=!^^.@7=9)[1'9AJ>[,Q3&0%#.V%G-E%-@P>.U M,(^J*8^4OPS'[%"/V=2V21;/QZ.F"H-*Z2!3=8+,E73"IAS3KH'_??H!+=% M1>D+BO'@:,9GJUJYWS_=DF@9+"L\W6__P):#YV#ZC]YZPU &OY6>L00U]0]:*$NH2&0CPW M[F&AP.,&?]N^UY86<*&.3PI )P/C@D&@6\M5GY?#R@I!-GUP*=>5UB >&G.E M5;<4% B#HZP+G-/=)5C8"/@)+4$.BX"_K#2Z;4$2&P8'ZTUE@E&K*!@?;EB8 M&]OQ0Y)CAC4'2]F=DO*X&)_T&WK"O"*@2'!=3ZFM@BB(I]S.%M/0'?I#0TBS MW.T$"PYD!;Y)]>TD)@HQ7X'%TF350(4N=MJ/KK)%$6+MI"C6;'P&JS]V.WVQ M$PDCBF,GC^E(7NT(U5'_W(N^U#/WG_JXVVGL02J! L_#BE*:VZKV]!GBL]?$AKN7C!]G S#^]_=F:VKB./<)6YW+,[=1HJ M!410Z=FD_I31+*GNI"EA)^SZ' 5NY"50SS&C/MBL-&L);BVF('CFI@P-Y6!5 MQ-PLS+A:OC/%%Z%1?SP:-EVTJ[#*BRQ"D01*LFTW?NF<9U=#;F46+I.Y6TLG M57W!M0?F]I7FK)Z #DC=1.YAJ 2RG<96I4)2R^C. [QK$&,^Y@W;>3&E,<>E M>.1PRR>?HD;Z18 TBSBIP[9QK)UVR%P,G@A<#^\_U].B20":.IZ(!L!#X!Z.*-V4&Y# M*G(2D^.RLL3BIAZ\E%L 1MEUGH(7+XWPQ4OR8 3*C_M6U'XZ>(" M _)T.#@_'9P,S^NW0LIZ%S0QMP;CT:CA-\BJ4U"&RUE&*(U7,BA>*RQ:4PM+ZYC/7?B7_ '"YPHO_Y!4@;0FBNF:^N)R9YSHNWB&P#/W= M@@("*1I= TEQYAO/YJ@&1*'ADA+$Q/@'-N\8S_R51/4H@%90'.W/+_%]FH1/ MS;RRUVO;"D0Q<5T$7SR_,N/)D9_UL>8>4 6 6"TCBM2'"- M;[74RE "[%Z'CUY/%PN@N\0!BD4*=2)W\OS(=PMFQZ&71OS(L%B#\%J1>)5+ M!'A_\@N_6'HP0RL%J\C'/L!;M3 [EK5!L[*NJKMMOK5?C7SN6G_'>*.V1MH06<%C&^V M;7#UG&C<>CWSN>G"A5W([#=$#RM)-FJ]7NE<5)!;V)0^]^F8'G0<;])ZG=)X*,M_E)JM59UJL,FP W(2C,:# M04,365AC\>EJZ/T.;ZN9Y=+3#=JC18[LTUKD,-FX:XN:A4[\YP ]VPOW MC;C,+>-W#1GDG_02^-Q.'=1S <;;[^ZZ\9 %7<]G^ :^DW]EOY# []!!:.1D MNOW>L3M2,&%EF\;M>H/LUR >FKT5T'MT&!BR7%<0858S,NXU+%@+H,19GHD, M1H\.(T.6ZPI"R^ \,O=N?LKGX83^A06W=0U7DXKB#T2Y7#X!WG+1U^ M1^4P4I2>Z6K@$> MM0Y]W>%_FR LHQ!_#X0J(UJ\7DGDD](_&8]&IQU!7:42*KJ"J7#Y2.68?AG) MZM)=)$ES7=9QN;G@@_B,.9@H%&@P>G07&;),5YJ/-6CHTINXDRU/,@08NLYLVQ6UBS-73^7YFE?U;\!>(FVS@OH36.98UE,/ MIK&7]>7N?NV*-^XFNF1E13\RVRBFTD&[VJI9G6AV]@N7AH#,#FIAME=&KO"(.E"C% M815A2@[0ORSMUZ\ZR>]$VT!UX0][S86_^/G]^4!-^S\D1GQR.CX9-U2<7EZN M>YUPV&G<[4LM]X1)6EHP&OIE84:S3FA-BKD.7^Z4?"'8)!Q*WC +2D"MFF]* M>]95 $U.+1?PK)>\0;P"]&)G0&5<]6$;+Z*:M81X0@41%M(Y0V=911$BFKV M:%O2A4@V[ALT3:SX0[EPRR7DI-'8N9ID(+O@CCP*=CA.L9,UCT!RNIR-^\.3 M9A>)7-K-/F?GXKV^$YE,=#*=D\OMO?8/&UV9FN,PLH\D*"@'B8(:34.DJ##: MAI$]2P_:FIVH)$E%.:P45:T46(0E4I*'@'+,?-1<*B M/CA^"G*MJ@B\9H?D;*%V6_B M,N4D1*;O_,TN!9\AK0]8%A%4XY=_30 0?YD6&IB3V@<(BXFJ\'9U.W%=!%\\EUP6S^U'?S9& WNR3?/&1F\:HE:U$:>@W+HB MHA?W !=1\-Y,GTB:W#*P\1(3SZ,W6W<8G#NS#=(P!P M-3(JZK'CQ*-<'*-!<-'T"O4@3_&%$PFIC\,/Y 'K^;VTB(I<\'"[;,F5F6@ MQ&\ILVZ5@Z+LR@15RTN5AQ.#17A7B>TNY(=1IX#10QEDU*_/-)9DY:0X(I@U M"9A]E$.%K&:$=[Y>![+_VYD_> ?O*'AS<1'4B43('[Y;D"098WL5NEM97W/JZ2ZJKSG\4R\< MA_\&S'XDX1_]L?2BP1R;?[H#\XOSD].SD_/1H']6?R;;?O^A3'*$ M-&L9/"U_N=VW"7F9D)LC,7=U0?K*K9$5Z)[EO:Y"?*IXL()AX@\P?-2)-LJ! MH5H]96R57&FHHMO\\MCS:!FDZ#RWC&X5GU(.:7S-9ZPB=0E&%=#M[->]/<7T M7E#;*Z?^VE3)."X*":F2UQ_J=X>E[.^GY^\\1QB]SP>_YD ; M.J)FGNNXFF5 :\E/ JOF8TG-#,:C<=-OJ%8#MA)1+2_/CM7<*5%R#Q[KGK[L M[W0'[/(8K'0",,1;6:ICD9]3/5YH5+E)USR3>>#XFE1HBK^ &*V-^ M517[&N1=S+5WX$A%L0[ZZ8H)894^GU@+HE!WK,=J';)#3!D]?M:_$NY&$P9C M7P(++"!W[,G624@/QZ.+4Q42@:@R3J\&,HQ5$@C3Z&ZX6 2][V?QT_X;'=E M6RZT/&Q.S["QJS&W+V$"[4=*05[K,:2J6NCO %YA)=?X07J-#\BT8'4/!LI9 MT \;U3Q[[X#C@$ SU\#1$?0AQ0KA9_10;GYF:R ^(66Y82S?S3ERPQR#1PVY MVSFV=1W,+%E#+K?QOS"BZ<4)**AB.05F11X68EX $?5ORO&1,X/DTPV33([& M_=.&M< ;/)46O4Z)$GST'WMU=T0-!$PV45@I#A@>1FGR>5$D9>$0V M-L7<+8E&=2>6,?VG!S>!!X&3F2304SEM%E]$\W+-L&B;6SVIS!!6F,NI0$_E ME)]7=1(@X'!?[4K[ UKXP/.\(3?_SHV)465H-YH.38PN^O++[]4>17+$?[!( MY^1RV[XT2ZCBMU-$O7+:?,]^#^=K:XQP8*@IKILTA< M+.0,>*A_@1XMT3U;!V_0YW%,7[ M;Z&:6W)S]@12#PID->FBRL+Z'5P*/N;7T!1?5U:#L\MF-.X:$',R6 M5'Y.G4NI0())"KF.IP%<08SJTSU@6*ZM?%Z&3F^\0#>-*T"!]V5?U$C5_ MP[VV&<\^5_69+F*M+C&%T#Q7>J'*(8SY"I\FM86;[5HM1/ #;B(""8%UH0:P M*C'GGP!Q:,=-50F3/MVY8[@J@?G(X==7P]M;"8BF[]!Q@:4#4K/8@8:GF7]H MI@>^>1K)4P;L("A)6D<$L7RRB!!7C8]Y)^QJXQN3@B Q_K(1CZG:S&'$X^?> MCG;/)+_JZ9CZ1R"DZH&0I^/^N/&97EH@9,B-DH&0U;UUIX82Y5245K(LMVU2 MA^-*0[+J]\RE M729"\3ND84L P58G+W:'RFBE,9DG]?C+[C77(Q^<+9),WT'MQ8\YEW6?C:CN ML^A3/7O1LP]<:6;TN0]_6@5S.E(F!$X4B';M\6I=R)!0=P*LU?/[&_T M?F:W"$0R">ZN#!((@ML:EFQ$RWY+T< (.[T8 MG)Z=G W'?0RRLXOSLIZV]I"^\B\DH^%0QLUIG9P#X_'PI.'I7UR^^_F?A_?V M1_!%#,]>3+CT54>!9$_=*0VB+ M?^FG_]#,4)&^'4-)?IX;+ +_Z]= ?>%&^A__"U!+ P04 " #\@ -7" -T M-R]9W?B2M8V_/U> MZ_D/>GN>N>?,6LBM1'*?T\\BB&!R$&!_T1)2 ;(B"J1?_U9)(AE,.X M;)V9 M[@91JK#KVJEJUZZ__]]"4[$9L&S9T/_Y#WE#_ <#NFA(LC[^YS]X@EI1.&,-!SA0V8TQ,FXQ# "02:3Q.Z X#]_3QQ(5DA: MW;YU;7PL".8_/R:.8][^_#D2[.&-88U_!C^@@5 _@L*RI4F;DK(E2+(&I!O1 MT+SA$@F:6)=495W9E)S/YS>+H:5Z]5($0?]$/P\A4=?%1<,K;0/Q M9FS,?@8_[O4$%9"<_?)![?&?_H^;3B\<'%:UUYMUU;(.>P(067\ZEJ#;(\/2 M! =.!:R(C.-$"J?)=3VVY1Q2"3[ ?)SJ\(?]D=D&0Y')4U7[)8(7]@K.::\8 MF4ZG?RX0^C;=/0#*7E'TZZ;HT2IAR^3/0:W:$2= $_"GPX.3?[S'?YIY"J<2 M>V"3CX(MX8--_O'[[PD0I-]_:\ 1,-'0'2AY_OGA@(7STQ\O>AD'4U>>_?,C M^!UWEB;LZ<_??SNRHX+??_]<_^O7-32DY>^_)7F&VV4DV39587FK&SI !>3%+:H-6/Y'69* [GV$!>I00%JRZ/=W MX;01&O.NY=&!)^'_$%OS78-/\#3A?UE-W<%RU'0X#MS75ZV^WJ-FPOP'I@L: M:AS(MZP.1[',P?%9@EK6);"H@.4/3(:2HROR#6DL%NYJQ(-2U&MF06[D%QJ= MX2F>_/&;@'-)4_$$F?K[YUX'+]K?G&M9L+,%V18%]1X(%JM+>2C+-UWFBNU: MT16&A"*(I;XS-:H@K[1X&G49QTD*RHB/[&\^T&O;#A?@$WO3W3DQK3LXKL8) M7$N6<]5\/3VYS_ ,ZBYJXO/ZVH0-&-)^;_/%9:F3-B8BJ\E67]3O5JEAL<7' M46];U$?V-0,[*GF=586QW[^Z8%G\HU-24PZ1B[-XIK;HDM5>OC;/_/@]$E0; M''3PYSZ301$.(+I$8/_^&PFS6]N34[#'F"?<;I$(^.>'+6NFBH26]VSBJ06D M;/&U7KU9V!+B]OTZ_.9VV_"^VH9K>=\\97 ;4,D;T1^H%"A]/C,7+*D+NY99 MR/;F*0L[:2P!Z#B&J#1,5$\-:$-@\;-NKP*DI9QC72I-W5L)_1YH\Q_K'@!/ M)*R_R1+Z/I*!A7DC 4=55V>#,9HU_ZL$&UN8JBS*CM\U#-DH MNF<__@C&<;LWNA^_UX^?'=[?/X]6_7O=ITT/?AX;KNFA?M-;1[ <)%X\7L0) M$OY_4\_FMPW=I)VB"9PFMDWXOZR_KQOYN3?EQQ"0L?G&Z,B4=QQ8'QH&"W44 ME-^&9D(-HCOV'@3:4+U!O2FQ@J5#(]P.YG_ZH($'IID>)20KV.V:9XFS\C-&MV)QSN%>XGM&WFJ74P^ M-/OI:Y_FC^9FVC,+/W=^3W,S4:TF[AMR=T@(RV*; MI(+IIL[#SN7YG4OE9J)&4).ETT_63?9Q=>WS_*'L3*V]O$^>X-/\+&92A-ZI M\C7%3>HM<5A2*R7VVL7V9_#SF:=[;8N=B9T%OJ5Y@RK*N#+_/C* MI_F#V?DBMO9YN5F9J<.XTFOGN"6A%#JVW6A5:Z%UJ4/-S1>QM<_$S9UB.=$H M#^LL,7754OV!5]3Q+.+FU\WO)6SM\W*SU:[WE\GFK,T*,T)4I'&*MJ[>!OLD M;@[%;(NBJ[DJVO)M.!-@H6(6F"!"SD!9%PT-!#-_-YSD=4K*:]PR5:ISR:G= M?6Q>.X._>/C7@8*-04Z>1ZBW!U0W$[^;I93$7'+YL],HU3UVZ:?>"LAF+1^W!:'Q+I MF9)I/2J<'"^NRJ#53BKRM8OFCYK6D*Q]'L[J.+$@<_>@TV)S'4O$L[E'FD]% M(OBJUL .9[6!YYI@47F8ZST_P4?RS8'->HR*UQ[3[+Y,70SN9G1O==SNH]8A\= MG\8VL!U+%J$+YXV4TV7';G>X]1ZQ.2P61ZL'0J&&3"XY[U7->3ZT\O:9J3PY MQ.NPBUX\G<]S97%6O>]/AHTTEWB834O67;I?D$*[W1\2KOSH:41!W'P36-[Q M$ET$WDFR8_@-)I7*/VAEH<8K1,>D]4R),&2W%EK?YOGRP89_B3:P\ M4/HV49SXZ4OY=\Q\<6N2Y#C].#BKU@L#22E&> M2O?E6HE(3J]MQH/QW'*=KSG'Q\_#O)''1]PC\7.M4< M0A[_\-,P[YK_'1XGXBLMSE6;*:)(S2WUOLBR[43H]'8H>/SSYCB0X]3N'%-O MY?&FQ0E"L>&6B"+!:&RS4ECF5]L,80\_E(9 M'X[YW^'Q;DE=5(CV4%#7-\7(Z_=\]BU#$[:K>J M/7");DZ_'^<7@[$2.H4>ICV+\$C]XQ[ZN[><.NWXV=QVH9C;K;G;M Q8B;-LJK#>C"XA[6^BGF:7!P$G-4&&?1TR]GVS7@6"#2:&*I4U MTS)F'B>L8U(&4F:9FR8Z=:(83U?Y[G(DKNY#Q\1OFO43P_X6LR[HTGH[BRXT MS*I#.42G6QX0HZ0YSYQ+CYFA1H3.B'K3'#\_ZJ\\YYZY#(<+I(QM \OVY][=G0SP_YR\\V6K)QH0?1,4;.7/#P7A(L"7T, M)KU$CZQ&DP0NJRWO+"VMM=56^+:I7S_I?QSY=)*J/-WJ8$" M.I-Z*3U9-%.IZY[YSS//+Q\I?B[[/+.2!YE MKFD_8@+2H.-CVR% MS-5IX;I=M,^QYD(TW7\VYTR3&Z]X2N")SG282";&S&PQO^[5ET\UY\Y_/(A" M_PM"#3:?G5JU<)^Y6RA*/V^G2-VI6K9V7;=4=UY:KU=PZW(@:#N[2=;N@)%ARV))5 M4^I-KMO7\ZR!/Q/P6?R]N#@G\DV6K0MS3Y(*3FV,P M3%5%U22^@/?R#N1>-7).7R!W3N34'B?]9M%<,:S6ZC82\T%M..V&5N]>"W+" M=M3V//IQ253X27-1OB>6!;J2E)3'E+0(K94?7HT4MD.ZX;7(5O1X4J,%XT[) M<<.*117:UR-E= M#7G/FO2'B^+X'_ ME6 M&[Z^@EP)X^GR9VX*RH^R]'* UUE"Q@>S29.ER68YM&L;+]Q3N/Q-0>%9!CO' M)N8SV)#$4E5H%OJ/"M5U!)4'1F:0#*UY%$YL?(9!_NX8WP\SP(E41C45EILK MC5$R]]C.]_F.%5K5%!G@?PQNN7B<>D'690=4Y1F0RCJL>RP/5>#';F67->'1 ML'*J8.^+-T@="6B"I:P%6UV:&=KCBA@IE;Y4%?A1MBNZH5UX>,60MV+NZ9B_ MPWS[N:XA]'44R,?9Z[B)/HL;E66]9[%%G.U,>@W*=J:AM7%>-=U^QNN#(7^_ MV=Z/5*7JJVG>L*F^ @BMG[7=:J]/?<49_Q)GC]XZZP5759<9S; <>076YTB7 M@KEH/^(@3S3XABR:!%\V>U]#MN]._;&Q?YOY#U)80 KDP0RHT"J3UE&\NW)? MLJK)?^12+6?V..)"Z[^\'@HO(T.$"D2.??U@2FUVL4Q6XFS.X)=E ML235>YWO@HPKU!E'=I/.X@A,2(HF'JJ)-->84#91KS/BP ZM_QEF1^#R1UK. MX0FTF7E?F?+CN=)/"TJ2Q^L#4/E"?/]AGD"8IWM?U&=+N;Q4=/H\YT[85A/, M7+X>WI1!(7<%PCOM1WV!4BM_URME[FB"$IQ:=5FM<78V\@6^%@!>Z PPQ&SJ MS%J9@=+1QWI!RC#+3N0,?%-8[*N((?6P*G?-!U6AXH*<*B8DD;6^"S2N4&V\ M]$+9TS>1]L51?*6(99%+-)*)Q3UA%Z9<:)5#B&XBO;CG_[X;+!7IGG$T)2YP M":+$]X;ZL#MHA):;0WF#Y=EF^(5'+M["OI,5OZB1TW&:Q4OLPWPJQ^>YNXA] M0W^\XC5(>"WK/RH:Z!9 (Z?T'?&Q/4TX36,6VFV?\+!^.-'QUELSGHEF&K/- MKB.-ABHK:.5*(PLJS"J\X AG--/5WY_Q##9H0I7J\W'.58JKCDP9A80VB[#Q M.FQ\_DT:%&\.X[-VK:7."?FNTQJ.\RNRF+FX4?!:9^BLYO,FX4\ZJ\_O:[WV M ZO-ZV9'RK5[#G%QN_?5AN5N#I^+78V^9G<_?\B&7ZJ&Z+VU)Q(Z0%4A>V1T MJ298"G#@9W9A0IY;KQS-F&+[L:=G5*78SCRVN%Y'HU:A=2A.#'DK&OXTYDLJ MD$\/E7X'5J Y!@1+G$#"!4LIGAC>@XL[ZIFS1:ZFL;DY995*";Y1TD*[I_@B MN+Q@V!%BCB.F"'1@"2JD7$;29%V&YCPL- /[F"%3V?ZL728ZK+MPZSG[GA'Z MK=#:'R_"S(L&'J'F.&IRANTT1AU!W61;Y44C1VJY5H[+*56V/AP;TC"\%_^] M""$'@_R::#B]X'$6"X7M,P\]YX&0V*64D<74PS(W8JY;Y7RFA1*.Y8_+62@- MHYR6A(9RIS2T5:>JB&;'XJX;+I]LH5PS8EYFH6ASR:3BV793D=.2,2F404%+ M7+<3].D6RC6CYM!"(8;5AT55&0*N(] )O)9+9%;3R$*Y C2XW1F@>:%2%L,;YQ4N9:'D:O)]0FB0"MX#;GQ1S][KX0T' M#+V%$M946N>R4 13?>PDI95)-.R!H2P36IUH7/>*_2=;*->,F!?N\O3BU$AM M/)IL \QQFZM7V?$TLE"^+6H.+10JE6^6J2J0V5Q3:@*0JZ7[?K>&AQ<8+8]1. M#OGK[P>^-<3U-%+<.$9O3G*3?)IM]-L$@;,L7I>K;),LS(7+K\^_@%0[ M\>GDV>_F/>X7V):#LO%*KN@TK ZP9K*X<^*MUBXCQH,5#%70A/_ WO<0?W7D ML6[7#%UV#)19MK.T(;.N?.+.:! [PTT?NR(\.0)*/QY3Q'"1+O\KG)(,N';FWA M#Z!XP4"_)BJ.1W-=0L?D5I-1GF4ZHH(#JB8/V8)(Q$/G]ER;C@E;'."[=OCM!KDK'A#"2Z]TZ9EI9 MZ;6R4.*5RG@LW=_38^GN_JIA\K$Z)C3+KI>5)N"1FKKMA[JM5#IW.7SJCDE* MN6IW-PS2)&Q1%^^6)N7JXU B)_$$VZ_>5\EB+S,EAI'%>AV8H'8L5HJG4OZ7 MN%9,3/3$7.4$M95D9K0D=._"L-[\U*BC7F[443B5>C_A-HEC4I>['ZZP(',V M3^87;+&GIB>=:?*A8X>.H=;[66&]H/9IZISM[+\[Q:Z_+T,R(;X=4.':=4=] M'#M$\5%P.:/2H:AVZ'3WAV+HQ;T)X^V )#(XS[N]YIL#$,7HRODK@/3=G).9 M 6ZWV$[*T7HDXTIV,G1>2P3IEVMP']0OTN!/\?]>#;Z-"OO40+YWK4*G0^0D MH3>,T%XYR*SO1!*!:K7&(B*H,Q'G]D^EO^D+P7=BNK MNQJ *#.L-W;LX'WT, ]T0Y/U8]6^E,)[5?S<[_W+)T)V@,:;"G.OZ:G[,E<< MF(6N=4]\(Z)%T0+\+B)%QMWF>$=T7%UYV& 4U.F>$>#@6_'#_%,I0=RA2$K MF"Q19(J%!,4^0]+@G=.M_I07MQ 1AFN)P/:_3H @>0('3OOOO^%?F.TL52BW M-&&!SV7)F=R2!/'O7Z8@2=!9QE4P-U<$<:QN:H/\GYC^!_]I0A(W^\\LK;D][G6QW==*'ZU<[]_@:/?OSN"D,58,8(RR%Y MJ3N0ZU MD*X"_&,>H:^H L&Z'1K.Y-=34A]0<(="<9] 9Z/*>@YA1QQ#NR5W M'J$I0M^1_,<%51[KMR) ZR;^$UE'^@K1\]?0L""(-G7<(-+:ABI+V+\([[]U M"50E?>3G[=S\.DI_K[OPQUW:#PU5"E[2L[M1)9@'V&5__NO M%$70OS:38IZ+?'^FS4N&QIQW:((G4_@A0TAQ($$[ADK'>29!"[R0(N/\4!C2 M B-0*1 7?_@(_1QB#(],Y&XPBXDQZT_<=L?;6WGM2X0GFX_O*@;PATT [(A[WM<5.9X:" MJ(PMP]4E7#14P[I=RYMUC4C:'52'A!1QDX!-^153\1M8LR_!H,37P8:(F. Z M!FK3E^[^W^\'Y25GLM!HU_[W7V2"^.7-'K0 X(@\\U(6L<#8;R-=^#:W"-,% MY/1(0+[-&Z*+3!*T]/[#DTAUP;+X06$THA:MN,P)(U"DEHU&?E4>_Z'7)(&W M?+3M=?ALZ&..H(^Y2O0YGB&R[H&O=6'KJF#:X';]85T=@=YVH/7G2.M7@M&D MMG; 6NS]=*3=@C-@.;(HJ %(/73"OO^:3Z!UCT-E)"*+:6X)YJ_GZSRG9;I67./S_D!8*8 4TQW;%<"-.+<$#+A=XXL-1E&YB&Y>PP RBE MITM2Z;59;3FB>8TV7>V^=< ,:\)TP-@ &%?&.DL-Q;H-#.K4+E2- M8ML=B.XMTHW4RNB\&?R33-;#271XV?B 5^>ISS&3;%:?&] MT>W'A+EA8N#J K%\-0GY[%?*AMJT9[ M@\9(>+]1>(\$U;Z4]/;V[CTE?2"^A1[-VMU\?:X '._67796J$F'MLRKQ3=S MW>*[V\[4.V4DI*]1?E_4^@X$MK/!%.:OMV,CR]!\"KS_;\?X1 _Y[=HL9VB: M;*,@&JP@0SE8-VYN=X=U:8>%]39;4-.P^B&P=A@]-:^/.7.8:BB5>;=7H"!1+DXBOL1OY,9?VHA-O6-JY.+K:8.PEG=2=.OQE%V&3>]$TN.R* MH,8IG;385:M('WH"^Y@JMS/YSH!0&(PAV\"]V(8B.1P6T M.+X=/2;8F&T"$6UW2IBL8[)C8^+$,V/_&\KUV7(HGGI9\ MO'<;@LC)'7;9L^XF,KX0-&Z.HN8/2@X;RBC;'8HH@* 2;Y?!''?F/'-8YQ1O MSQZ:>6G&@GFM6<_)29M(S/GX84DEG:*UW*!KL)5.?%9JQ&?]DM2")=>MO\RR M?<*]@7Q!VR.BOZVRG@5O%\H3&\$#?PO*>[*W4[6[Q>&7(0ZVEQQKW;$=@?;C ME+ELK,UB)OWO70 ]L<9V9.A.S0:L;:0:\S5FUM]Q9&[?#BT@*/@<4NB/.VF; MWX6A;:BN$\C2%3[,KZT\Z)SW'K,=VD/Y/D ?<3NQIO0_TO1?4( MXQ>@MN>H7$S8C3N8#".U[F MH+]'F)W/8GOA7N;3I8CC[N6^\_TE8'L!5':%13D(Z//SC.\ZE1"/]>JTH^"R M8"C3B<@LZ'ER4)S/49.OPF.2QDF&2,6IQ&E$AESTO,6W\%@=,RS,<"; PAY= M2[8EV3MD YV-OX<6]O.WO"L;O++66-#EE??]OZ%CV"V47^FAI-[EH82$D=\" M@O)-^Z9S@[&:J1I+8/FSOL]XF,]Y_[T:9CBCYWI)7$2L\5TA\17YY^(&04:2 M+&#;P3]560?DSOI?BP6-++%*9]A^8ZSMDZ0^G-8/GJO?L,M>I/PY[DWQ" M?1U9_+.^:Y(<)<;+*XMAIW?5/\SI"8CFV4 -JPD;@Z;.[H)RH2&FM&RE.^$J MM=)R@;/E;JUQN#=Y,KS /QA]%:Y.*-7#'@F^L]!K&I GU ?9W'/)\:;!,6ZS M.&9S8S[+)$2*$;)CGGFE"T1322+U[;R?@+)H6P5)-E$V!14#"R"Z:!D-/H;F M+[ C%R=<=MQ;9AJR#8;XYJD#<]Z(M>>G(-0'*EXN)OZZ=/P ,F R%A"V,LY3 MQ)HL.%E!*A78HE$QJ+G!S2KBZTP8ADB^TV[Y[S&[Y:RC1]?IJ':WG\2Y_+7=VT:\029_V9@# M5& BBF"Z1Y(8!N6TZB*!@@D0*' "UES]&8+EY.)O_6!I8 M((_-_#@A]4PE-^FPF=2R(?9GZUV;O9*K:7.N#IV2R"ZG V5 6J,TV1H'Z^E[ M)I^#GJH8D;(O7VBIY8L*G$F:J"="+_6%7@ M6[R2]D^.S)J+YT_$GML&39Y9571E1P5KB>7_"P1QXG\2H<2U;U^]9?@G8(6. M"&?;+ U8X2OAPQ(\D\>/>G\A08ZP]',D\8*I372 Q;DFLKP3,4<$U1?"##+U MGA,I8.';=,'O@=TTG\CK ELSZ_;(08&3HGJ'#_?DM)\+X0,)&K;EO,"*79+4 MT)/WFT6\B=(J9B=Y8<1-W2H_KF5'2J6W#E$]M[2P_K?&$5I30 MOA$Z28E)+MH7]XJ:%A"!9ZJ3E%^'=S[$C'!5ZR2L/WT3]"2I#QW%M MKR=>=]%:7IKP:Y"$I7V#?5C,0LZUD+_AGPA&.L41'-?>8=)&M3;LT4U^H117 M3J%FD[TX&/V)2>^!_18.7?L-_IL')4\?/]ZK)T@=\4Q%!TWZ?]>-LW: "0LG MOV_1\\I$$.) R'R:[#B09X$*F= R=*2LU24&H.)>8F6D%5$2^QG \H(C^*=T MGPBG;1V[*]QM=[U"Q!#QX"2@J_K1F1V\B_V%?DS^HFCJ)BC@3&3O0*")#@1^ MB)#R>[X1.\#^[P?*DQW:(M(&XF5'GO1&H.^V2B*I5*H-,:NWBKBU:D7R))(G M;]VH.NSWZR0&Y$\!4^'[ !-$$4H,"UUJX;&.A=3[T:<8Q"!^\ .R7 3,UJ"P M@5^LM5*%C*;!\2]CWN\Z!O4_ZNT8&UO&W)FL?[Z!-@[ )#"2=>^LF!<3@RA( M$;^>ZY_W,_EK7>R@P/IW9*4$99[OWI'"SW1U4]+V^^N??=Y*1Y(:XA066&Z[ MYMK-)V\ ON\$]!<]_1LGHI.1'W<.-:+VV:C]WG#(TU/Q&;$LU>-R/C D7FY! M'+49SH/0SR!+YH($"3F(+G"8V;^-P:,C,I/&AK6\4'0_\JRL7-#&[BD1,5U: MM(P'A\#++8/NXCC;]&ZO.;GT=\SD>KM?L+]7>68?(43L=N8C5S]^=YXS()^G MZV=D+?41Z'4VZ]K01K5WU[54P"YIO999*;+RF-)$WD[)_:/K6F^&P*6"^#\, M+Q]J6W]5;F&?\Z#>S"N72!+I,\NZKT6OJSF_ISM,PRR&=C];'9AL0K/+]IWX MR-\19V :YH5,\]5V9_X8

    G5@O0&'81Q,C:'S@[)T,E*8_DO8W^O96S'8Y9%[2-GW&'VO>_5MEL&3-S>K@.^T5:]5 MKE^ZWT_S=)YO*\%;&+0G0%77'(?]]>H%K__>8!"T+Y3PGG6.I/P0&BV&,S06 ME[&)T)@.I7LCG:7%WKS=)2J]?F8F:H;2RE]4NG_22GKB0Q>D/8"F-P#M/I7, M$A8 HF#Y-RMCZ)(K;[Y?MAP'4_\0SVP>P)^9:]2EC,O<%.5[BWH"4-W M[-:/WR052Q#P3Y)>PV--A]^8/V+$5N+I(#NDL?S2,P54\?ND-J-'CIYQ=038)U87SN#])9DVU2%I9_Q]G5$4Z&X M7&?M/9]U3;QK7#M+B?_G?UZ4)'CGGK-@+)0WW6. ^^NOP@@.Y590Y\+2#GR5 M9/J&_OF;_0[;IY MO<&A*(1ZQG_IZ3[/[$+O$;XG,/WSPC/UY^VJ8)M?'S)V6@J$!T^><'_>./TYMF/F%Z-PHPE^&0 ME,ZT[[V+(FMLO=MIL\5,.U^N%PN-=A]^JC8:E('.Y8%AS^!&O&H;BG71#69DT7Q /=[3H&S'UZ0'QGA3?)SK] MME-5GRV^7\G]&^A3?X9^"HKN#SC$\?&2[7.!]N8AAAV6&ZG5S+2[Y4*YGJGG MRIEJN8ZNZ/2L39ZD$BDB^6IIU10LQQ=1Y:/R)_2HOAQI"NM%]X ^NK_Z V7[ M^R3UY_)(_'I0?W:!%1[3.;*4KX%7OJP^^6*V46+;;X1F*3B93;]-WFXBJP[^W MJC KJ )*)MF9 .#8F\WRG9O(L;\X77 EV0'2?[UC87D@ I0"U*\JV%.G(OWY M%7@@8NEWA(!X.X:! MW5J?B!4L76?X)?GI!A=Y<2-1#IW$CG1@QZ.9V[W6%K M%!I-UH^/@,J7H-ZN?(@;.)H4K LH.;JC!VZD)J1SH:-I** M1$ D B(='>GHD",Z8M!+>]"93JE0;?0[?)Q,DPGRC0H:O-Y]%NP)5E"-^79) M&ZIA_YWOI8O3$:M'K![%9T5Z-6*V<#/;,WH5'96T'6.CCYZ+4GZC:AT]JUJ] MAOV/CH%MVL>^=#0S240<''%P.,<3.F:)=.-U<-;>,1>J)NC"V!?6>=D67=M& MA_)U*:,+ZM*6;6-4>.\IH%?&Y(9%U5Z6/-N*@Q5C&]LVX'F>ZR:0 [O5K4C? M^IDQ49DVL%WU:=C6M2O=R$>-E&Y(QQ,Z9HF4[G5PUIY6H5LH^;#L>+GA<4:130SJ>T#%+I%.O@[/VE :#\G1:AFI#L=ZT#!%(2)#S<2I-I.CW*E/F M>I7I!>BRKM'3H-LZ(Q49,7+XAA.IR$A%OD5V>FGRRHUNB6WOYLBC$TR*>5?Z MP"^1/_!LA&EXMYU\D9R!5'0:)5(A(1U/Z)CERZJ0+\99^UGQJF LJ)[-#U## MT)$@B'>[5]><)O",!/&JPG;JNG:/*E*'D3H,Z7A"QRR1.KP.SMJ7_AFT-U00 M1,>P;#Z5)-*IY+N58>:*M>'9Z('JP8**(C48,6OXAA.IP4@-A@2*GZT&*4[W MKY$%%I Z@@J,D7_\O0-$UY(=&=C"=PXBO1AY=BO&4,TH$#3(/+"MW-NGXVSO MQ\"[C'1JQ/DA'$ZD4R.=&A(H?K9.I?-@)+BJPYF&W@&Z;%A;@<[3-$TF$]\Y M1/12U GJQ5#%F%_SCB:-M&;$V^$;3J0U(ZT9$BA^MM9D:K(..L((.,N=<'Z> MC#.)U+OUY35'@9Z?+JA&S*]R]^A$I"(C1@[?<"(5&:G(D$#QLU5DW NYW(FX MY!-4.O[NJS[CUZL8 '!G_-#G9*1?KF2[7 M9CM\@HG'4\2/UYYXZ\"Q"(Z_5#:\$C7Q]3%,/4TZ]M,1ABH(#3G/G\&9/IV_ M>>?-33GJ0+ 0QTR>3 .- M&@DD(D'\^R*L(D** VL]*HK9N5\C8)R=3GM__Y__V>W\4!"5L66XNH1#"6]8 MM_\BO/]^[8QJXLM'RN/\,<"'%A 47!C!AF\%=2XL[:WLH__]:VA8$OR%6'<* MD0$CB1LZ_F]LYS,BQP$M-6&![U!L[W:1X+7U,T](;!X:MI=T\=8"JI;-";V=F*W.ZC9R;S/FNT@$^M4A_H\F?99#T; M2/H$L['M,;;M,K;I,Q9T&D>]1M^WA3Y&_#_M;WX5(']ASD1P M,%F?&>H,8+8[A"5T!V4VM61;\6-575V$Y@*L%L7]UX3ET_'.955]^DPT7%4Z*'CLH3TY]A0L3$CVIT]E)$<.RIJJH#]] MAD"!YM$!3W\9 E4&LX/'P'9D[4AQTP*2?-@3TS(>CW30-)"@@[-U2 _X6'L\ O.Z4\>0M;,;"1B]P.#-+.NQ8' M=L6UU@]'&Y1"+'I[%Y '41EQ#[1KOE5T8ZX'O.I_]K@WML^Z7@%_O".?FWSN M][ %\>RBF'38!_B;BP2 SQ$Q3(5=5#W.@+_(,V@QQ9YV2Q G" 1HB&AHDCP: MP5;0_%NRQ_LCR]!@:P9L D(15HVN*( ORIH)X2,%7&*?DBQK8IZ8 BAK5%<" M,6SH.IX@0M.FRIIW-8)CQ/;D%,HI>>N)<\^WV)A(GCV#S"-5,&UPN_[PZPR& MP9X=O&.D>-H =0)7A27JUDA> &G70EE;6;XML;_\Y1>C@]O5GGAZ[^KU4[<7 M*2S/]YU BN+0^!"1Q3*WA,U20.K 7_S??Z43R?2OI_UZXE0>F$/O,@O^;$MY M./?-?P18"X@ R8,:3!_!1P)Q02$FNZ/B,%'Q!>D"2)0@KR"E( MC*@ LC=4P>9:S2&6A04W(,>XF\X-5-R&%%SH(6CF+RQON6,L(T'1(]N.KWZP MOP*A5LAG H'VWZW(LL#8A:+$L);8T) 0>_L,BU@"2J&1,#-\@0;QA.ZGAMU# M)$<50^86@L[!+AFHKJD+!;:]9E. P29C 3NA"H5U$40L$4 MB$FH3H@.R.RP MPS+D.-1E*"365(J=ZJLOJ[9:!:TXV;X8E*"$7,(2MFU "8A^FLO.Q.L5'*&A M;AKR!084,E#*V%NG[6#-(&+O;\?>""S0_O"@"Y&FR@JT4B:0Y1!N=M HF!"M M,T'U@+=A^'T^^!.,=ZL+N KA(PAXPE=[^0#"7KZ4/(%TE#;N$$8DHBZ)R6W*L%#] :?.R+?-&S/.,+< MC:]R&O011".([AM2T,F'<[!$OHWL>P30&=G8W;JK#2&.=BR#"$$1@DZ8XFLO M&EL[^;"GP)K)HN>_H^(*6"(PC8!__T^0^QB^O%Z0B6$3V0*!>O;JV[%]I^B6 M@9'LK4[MU!&A,D+E%I6^<>8A"$ <&AKT=+:K*4M_N<1SZ03=\Z'0ZI#I#E58 M;@+0NA&"+RP/U:WMBA/HSV!P"!* %450BZ#V1 #Z=IZ_ZHQ,+L'R_&YOO5Q0 M WMOZS $(=T&>R9>C(7Q74&":JWFX1PI@^!K&U M"O5DF'^H<;MYH0KSO947WZ4=>8KXT;5D&VTP>)(C =WYGUA: .FX]D7H2CE\@\A!&)2 XDPAU$>J>7S8!-B*_;$\"3T'V@Q&0+:>JP-_1 MATB$JA#9=?KA?N:3^J#/"OT&>^2BW7L)C !:8/$VW&"M7A@,$HRR/K(@#;QE MYPB>$3SWA2(*[O"@L;'Z$,B&09@7YNUS@W&TI1!!YP_Z%%II7CH3))C6*QVJ MO)96HBK(6H2A"$-/M./Q(+H]B]\/HG. 9:)M O\9\C$!E%7#)0I5W29M13&D MSOJ5&=2WQLFHDRL[.$!'!P>B@P-O/3@0"=AO*6!WW 44^>@'/GI+R!(*&39, M/QKEU,[%,Z&4?LC?3FRVCF2P[+LMLBZYT'9<1AH_ N06D"CF7!91M!/8#2,] M!.1FLPQ*L1@*FW)1-+QKK8,%]["*5OT\ U2VO4=[N%WOKNU&RC[3C:?1K,80 MN>?H!12()4.9"EX2EW@8%(LBZJ/PP8@ECK&$OYGB\<#Q/1-KS1[[-K 7SK"_ M7>.];UB[K\=02,,DC-:@/%3E2%ZI""*(5 MO4BQ=74:9(TG]CE:I)?MG?Y%J(]0OXMZPW;PX#"69X" $73^_*-]R'P0H?%@ M:,!"*^ZN!7G$1F(8.3X;D+[)!-NOT:.]<58$G\:'P16(=6A"RM!/(X5=L[]3LB=-- MS1&8(S#O@'ES7&#TS-$7WT';RD9,<*%%ZJ^8[1K%ZT,%Z!T(=-B,CDZ=>HH= M2EI/[&X.HGH6<\P/'T?HM%W;!#M>XIXIOV^^H])>M)QG77C&A*QO-UAM(*^0 M;8+PK]NHOQ+B0;^OCZXN;A<%-4.'!@<^Q;0@"3[[L3&'K/6K!FIG0C*^_M_ MF^0#GJ2>ND#WUED@=#S((J/%/]X9Q/U!5Q.:]-YFCR3;INL=Q_;-G;T@A35[ M;(ZWJ=XM[^;VEG?/^84U[F@U?[M''D<&?P36IV#U5BRB#+^R4]=<$O<--:.4$6B!!^)Y-()5&VBV"/;FU#Q\RSMC\H=7 M(^1&R-T]7+R;&^;)WLHZ.!')XHW0'>T(15RRY!GPE@IAGR3/U_6#MD64>,4" M:,,] EP$N%T3%>T1REXB)B\%D+=.'*Q ^[LNWE8BC"UHPJW MZ9+6FV:!\@L2Q8WV\+0+)S^C&W(,)K)IWX0(5T0$J\^%U?J\-^XG_7N22=-; M7=FLRZA+3/#L+.Q)Z&(0;Q7;6V-!2Y2B8$^PD6K,[1NL#[QT=UX@ (!5>R@51HO>^BFGSF?AOAC8M3#7(J( MTONY%/^8&]&K8^Z91^@0(Y#6YM&IM(CE=30JYN?^1,O3P#^X88&9#,GL;_%O M[L#:R<_J0JKZ.3)%P?=A3R1=W;X&>[6]8X7,^ <]H2JV14LVUS$#+R;4LT0Z M19D;+',Z'R>:PJ'G)'N>^7;TPDR053_7IY?UR A"A-#Y4S_VUVBEX)!57XN3G7*5A@?>LQV/ZJV5Q&T@2"#%++BTOR4'HL13&D M50"HB^/ H/OR=B>5'-$$S4IK@$RF"Y!E:'/*"&$_QJ722 MC">D]) @1GN)Y9N9=K=<*--DGJ1@'>LL]"%(*(]ZZFO# M\@VVZ3&VTV6/D/ZPD.HD4?IQE,I/VF0D[VRT!Y\BZ 21ONSPGA_,CFJ_P3;] MW$F=ONWI&27JJ^B/>GE$PN\0.=>HY]EZA\UG,U4X&VRGQ++=#L]0=#*9^CS@ MP(YO>H8%7LYE(IEN(IG([GIL,.D>&IPSH;[% =MM2E0,ACIN\^)+FA%1_# MD@=U#[IR@"E*]7BU/&\M>BZ:;'WELM6/*@GW*A6Q< =V>S&B%3_*I>B1<)5.?! MV$NV1+I-L:4HVK \E]J)4BW;G//)P];3S::HS< #J^"Y>*&7RVO9^V2&3QV6 M+,W&:G]VSSXH?4-59V.1U>X6+3Y]6)*; &75Y=5'#K>9P7"63F7JQ3%/$D>* M&N.\-%O9=P0N).W"74HC%\ K2AV,OEJ76'(IU(D.(S@+MS33,_T,3Y*'M4[D MXB#5?\ !5]1JNL2*>+MFM*#>.2P:9T5N,J[F:+8_>&PE5%+$"1)V@#XL"M)< MJ=S&>45)+)=C8U)*,'@)UGH$)T"HW47*O/&%;FU&)F*.3IJ@K[>F1::XW^O"F6 MJ#NV:!>FI47PTCIRPF&A M4<)V2.[>JCE4FJC!#AQ!2U5W57K4I 6V(V2:CZQ=JQ1U6/0(7+*MXH2J,"N= MZ,_<2A\PZ:20GO/4$;C<=>V'?C%MTJR;:O1;#PVJ-NF.4==4S^IUK+!Y5 MMC(&WT"%RO*?:][KPP2L-8CR))&#]P#WJCR7*)[ MYR;2]G#\.&WQU!%DM5?*E!2L>T!0XC23?,R51C@.BQY!%J<\+&8I,^.PTTEK M04Y,NBTW8=$CR%IDIMG&K <1#O#2E 0YQFJJ;]W7@(.W $+G M[34-J"JH(W!)Q8FQI/4Z-"<7AV;O+I.UAND,3Q^!2[U?9@IZ3Q\JVGA>GRUJ M"PASJ *.3*Q9?M1KZ297XZ;%UM*5'2XC%F'1(Q,[EQ=YG"J2$MLQRGR\@'.D M"J> /C*QJ1I!S)J)?(( ?*99=QY&H_G#F*>/3"PS:!:,?NXE=G2N2E8U-OC4F*Y:LQY^LC$4MGNZ+Y!Y=,L-9QHN!9G"3H[ M1D4/&(:IM1^Z#5&ZY^04Z%>*KANA[*/L> M';%=#P[?FD>2%NTM&\A&]>J!ORY'6UT;Q$ M'C 7&%0^LH2MMW>O!T040='7(EM.[\Y'8 H#F*A(_$26S!81?[FZX$KHPK/_ M?D\I\TJ(7,9-_I8T^8.+>L4T>9M0W<:BW?Y+% $8C3Y7SIX2&YE.QXO\.(O$ M\+DC;,-_2VSD&1CB$\BPPR/>-M1)NNP[>6?2%B&;^[.-+D+VU2/[^@SDG&M9 M7E(CVP:.?7LUYDL8,7L% VYH?Z!N76L']T-"<$5Q1YQQ?1J:*9 MH&XBR;^@E?!_OZK>IV_B3\>*_2TO8,_U@N6G#L1<77;:Z' *!S_P'0=E"K$D MGNOD>;ZFC,U2)Z<2LCV@].S\3J[JXQ_K$V?>6QF;;XSX! K,0\NW?&H@W[M6 MH=,A(PX^0$RUI"4O8$U04_,!O.$_!J7L?.51^'=[V. M4B4JU&@QQHF[A\(,15M3/WXS\5B*HF(IFOG[YSXMSKK-OYH1E>5E2'-IP.>*QHE/CDBFADA MC@Y+Q'_\CB=CZ0012R5.,?HU^3R^>LZ(7EY6=&A9!)!20Q7$,!UXN0($537F MW@EY=-Q;,MRA@](."^M78)'_>U4*(+,>4,&P\L%PU@1H;\8?N(%/\5&'X.%K M*RZIT/(TJ6A*.4?HHD-+B\R/WS1-QAB"/H &.@X.R70D[ $-SS]V?AD:7HRY MWD]$MYBS2C6BKA#:8Y)WQTF0IC*M'[\A66),.O4<$9^)"O"WYKZ )W0^I^[3 M'9RK-Q4/ 5T'SC.81@>RF++-.S*S)"K\\([DLI5B=C#FD\A"),D8D:)B%'DH M';[$6L1GF8,1JUX7JUY.(;V.5UW#F(P'E#GE@#0V*Z-E/9O5T3E7:.21=(Q* M,K$X19[=R N-]^+;?2B'D([2^WO6WE?UT<[,I]_54;N4EMV $#+L$4YMF=,[ MOD^M[I5*60?\^+Y?=H0QGT):-15CR#A4K$2T[/*]EETBE@ZW-OX#3RLYH<\G M<&7.@K$RGHW+?:4_:4&>1DLL,3J1CE'T*4/Y^E98FA8P!5GR[J'6[;V+=,2] M#>?(,OZFEO&EU&N /-8'7D:7&@AU&0]LS]O'2JD\-T$+?U"T'M/)U5L.Z-)S M/HVT;C))Q!),,G)D(T?V^[+KQ53GV_C5B)LEFBB:-IO(5>CV$%?N4@KB5ZA1 M$S2!=BV^NC.[5K&R+AH:\*]INZ3]^XGG6D)@'W_VZ%\K!)#8)JDO&W,;(K_P MLY$1\<675XY=)-N/:,%<4:@\,*DA3A0IOM\M@VEOM6/Y.2(;2^XC_H'X_5.*&7Z:5=E"2&;OTN/LY,>L6JA M!)W0VTPD(-<2L63R@K%UWU)S1\S]K9C[[J MQF0^1]P=1VM),2:5CB627WBOE0CW?UY;W!:F807+%VXE-4D2,2EXPO"ED MX Z1QQWQ^-7S^ 4]YE\I@<>= Q.IV.I4CJ MB_C01! $!:=L+*,,U;[_?%Z=_(68\UMPXJ6T;4&&G0)5>0:D+>)\V_DX*XX9 MV5T51S3)]8NI]DIAI]1=S[M@@O)8,4Y#IS@*)XYV8;\QLUY,;;Z:6W.=1JY= M^(G(%]G!D1W\"=IW \PJPF4;C:\QXFR?I8^P\XH!J;E2;DA*_S$O+JT[7I5K MWI5-GO*EF&0LD;A@"%3(T!TYNQ&37X'6?BV7#UTF+72[SA M<;FGM"DB'J-2B2_E[>;15I&)DX%;@1 M.<&1:(A$PY79 R^5#9:]R#<(JSIB*64XN^LWLFZE[LD&=.:(2<42R:^R4;P7 M;'W1(&L:@AGE6%-!*'CYC.D-/WN8H6#:RT98'V'2.IM:FB5WE5*T;DM+)*=)+2I4B8PQ-Q@CZ@CK\6RKLS\9ZQ-)?0 \_R]/,U,WUEZT94!IQEVV, M^Y.926403T/%FXK'XB0=2YX\G_\EW/"3-^Q4RYELN5KNEMD.EJGGL4ZWD:N4 M&M4\V^YX1T&3OS"VQ96[]U_Y%IZOO5_US'"_]N4Z(7)"(V1_,K*OR87RFUA? MKJ/*@H=;&7R1&W:^T([&QXC5[RA#(X"&7SJ&1L\]R8H,3@?25"S!1"&3D?_VC?GU8IKS30Q;6ZU*4Y$: M*@EQD>A4N;ABK3*(8;VS!JDD&4NEOWR2UB!V,M"N%\_1^H4X]KN:OQ?T:RU7 M4 N&Y663](#9G0CZ)@SZ%#/?2VTFEUQ5LP0^59?Y6M/$TSAD9B\7#D4F8TPZ M\G2_F:<;\7NXE?:[&/YN%%_E5H!GN8JJ/#Z"Q( WJ19B>.0"4V0L39[_/Y"+/HM^/&"V>(Q)GN+%R/&->/:+\^PEL\F]D6D) MR\W*W4[/4:9V$M?-Y*A=2680TT(%FF9B!/WE?=_-T7L+S(#N?MF]W,@0#K7B MS<&64$?[LC/)N3:< 6"M5["6SS-P0[,*XNS.9-A&J3C*B!,YO1&OATEAOY'9 : _)&:+WK+O,3O4UG2,3M(QDOHJ MI_M\[;P.334-RYM78X093[+9[42M1J;U-S6M/R9!W0M8U,U"!YAO32ILI=OA M%&'2(U(J-*B]G#F,=P0H'GG!D1?\?5GU@]+,O8!7>^EFLJS>%5-$WRC<#>R" MVRM9'J^BO=\T'6,2YP^?"HVEN+OS*QX> (GR9$1Y,JY182,\ORCR@RLQ5ES/ M)7$%7_#WA#B;=C4&&M-!$ATB!NP=V MZ60\1J;/GR#N,\'\].:Q'>B9AX>X M=5]0VJR0M;@)V\I.,EFHV--^4%:*IF/IDW$:D0<>\7O$[Z':1C[)\#F2X+/D MS" YBFK)#X_Y'F *&<3PGF9/DY#IJ2\<2;VWD!YM(D?[1->M\W<6X8YEU-(F MJ7Z]U^ZS4\#$Y^W>76[(MKRNH$.',8:F8O'T!9-\A(;M0^>W?S971#+ATV7" M1ZS,'UV23Z>[=;.Y8!/W!*>IY59;-C-(*" + *I_AH@E$^OL[6#J(MZ/HCO#%=WYS-BB[,$10*\*H%?N)P5G6@Q-,Q!6H?C\A?W? MTVHP+\]D"7A*T)X(%K#YJ>A,'X1BLJ]]7*X77K4(CH;@ M*8"F8#4LJ*P=(/4$U05-8'501Y\JR;I@63Q1+78KCM+K<8VL[MJ"&2)4]\#%$N.\_EN^<5<5DEWDZE=1R3L9M9W[\AB AB&.7/CUY@)F"A:D,%9$LF6D)1'7$.VV=29M)H-A_K]/S3H..1R,ZXSL2P(.=(1ZG5*I=3 MA4Y#! 18/0SNJN*\G5C._P29MX_\8P#SHJ'7I_56C\[S::5!)Q+\JD(E'1QR M"TW&XL1S (3 !,V37T)T)1MVWV&:D.-$I1,VRJR\CSEC-1$-=?2QIYK MGB @Y9A#%EL32?9J]=+*&JYC(T*@O2O!1N<.[UP=^/J()F+^!S36F%?\*Z#Q M!$V+C\VY3)?&6IOSM/>JDFQ^M_44\ M'?'TA\?L_)&IG51S61WG)W.N,G6IYAV8XNE4"S&UMX5'Q;]6(L$,; \-0E"A M-R%+N*QCHF#*CJ!&*R/A6AFY>HVZA5H3(JVLYWR<'5.L;0=>C; L'28Z7\3B\3*CW-O5RH+#9RXN3V;E M>$]N(1:'JCI)QQ))*I9.G?^0:FBL^>>.LG@;V/:S$:\?9\_3D"TDPQVJ(!0B MX*(W27_ZR$,A$3[@F$M&EUXD'O*-%#7@[]624JS.\\M\M9=K$F.>]I(FIDBH M_A+"%FS(AI]&LB[HH@PM(1O%-FNP>?L&SMHY!_O\-+Q4GDKR[/??\*_U M>Z(*! N)D\FO_9FD42-K84+\^R("()BP8%04LY:&F_F)[W3:^_O__,]NY[?R M#1<-U;!NUT)L9U03@*3,+>7)LS' AQ80%%P8P89O!74N+.VU<9V^H==NU>U& M#M(>8H@;.OYO;.]0+!"?N I&SFWPVOJ9)_HV#PW;VTR\M=!E MW/(,H-KWZO4FQC',6XJ\\1 -OP8#8\B;9/Q"4_6$<>CMQ/PM8!,+R=-_=1NY M)U#<824=R4W5KW;N]S=X!+T&)*]07"M*$H2898-3X258W2?U,0H*GH3E$T-A M-*(3(D\ (/&,-"3YX4@@>$EB0#(ET#1!4C_\5L]#M=W1#J'P?Q[Q/BW+[4R^ M7&/S6*[1;C;:F6ZY4?<(X \@UZCGV7J'S7>ZF2Y;8^O=3J/0:+)^P0[/$%0R MF?K4$6RZB&W[B#4*V+:7'R;P#Z7D<*_5W5']^/T7MQ;D__W[Y_#CU-)I67[0 MT;?KV( 'T@DR+0PA#S"C>))G$M2(%X:"Q%-,(B4P29)@2"% D+"V2QY2=XD$ MZ9;OB5P3-Q(CY,FG)8U'K=#MWJ?J['+))/5589ZU>RU8,OFTI)"= M3CYMIO9?CYCQU6">;S8^57I^HL>Z";.9F]_?E;N?_9^]+>QQ% MEK6_O]+]#Z6^YTHSDNF3[-#WGI:PC7<;8XRW+P@#QA@,-HNW7_\"KJJI+FKM MMLM;CC0MERL+M.&B2)!TA(%SYO.HYU E6;=J1V1D<2Z\^&T;JX50LFT# :V MU.1*!@ %Q*N75Y/!KEU)6F:&I%)57[8G:MQ1)2B4PG7>7=;,N&5F2!6T9(?K MHF0 :].VJHVJ/B;*7-PR,R3$:,J1@)N,+(R!Z0V2')ZZ#:J3>*%C\?(.[*EQ"^(7&QN9YIB0Q'41X1HC6H MX\"?"*#L=%E1H;,M>Z66U-.T+0D02IZ'8W)4<11.8;(M-[O=R%67'B$7\+XW MZ8%VR"[6"IMMB2_[PQ*V6BU!I/J]$N@R18Z)I1YDFS8 Y?BKXFX,RF0Y%,B^ M,9B8L=BCV::+98?+;^H"QQ=0TZ [:G=3:XN)&9)I6L2-F^(O/-4'W2JQUCT0F4BQ7XHJS6IH*N@+$F6)D\CL^LV5W1^SOL<5O;S5 MBI_ZPDHM=R)F"II@R19F5==TI6;WNO$,O+!4G57?!I+ID+:J*>*B7"$BBEPG M3;/84^9J#XL:&U#>T3NBN^V8&IH^-2.IR,+L*TB_OI0+O-^9%#U3-6+YBYMF M1'6NCCBK6F%EN5PB>*U.%1Q7E0=HT,P7ZAG;S M=J6PM)%F:;Q&A@-@>&+:@4QG:PO!B]F,Q/ERO5=N:U5!GD[CMB_@0*@-ED*L M&7%@63)H8JZQ@PJ[3IIFQF601F!%A77%EN91J!?=2M"RN*1I9ER!9S2PC1;H M=\K%O#/Y'8V3O68D-$4==!,:/AP]/-8-$=[_7VQ,-5MMKOK]: M"D\\+_=F0M82"_V'M]X_#=UK$1\[1B#P[X!XZX#PB<[]Y/E>_,R)XZT?%(Z' MGY'$[_1C;U>MXTEXUYZYUV/2%S\T5<>!YT2A\15VS.M>R2=_]W$=ZXEY^L?^ M2H*"ZW*&ZX)^1W&X,.>W,-AW[,W0);@N)R,RN"QGN"R0Q\YS82"/G>>Z0!X[ MSV6!/':>"P-Y[#S7!?+8>2X+"ATQQUR83X;7ONL7.]DD,"\=RGXRA$[SG.3+ M_WPCO_TNN]/?B>->@F?>B@]Y><+>.MXM>??)LL+I?3:R[M0WC+MFW'0:W/&N M;NAWCP>_Q]WZ3C W3]."OIK#]B!B@;WIMCQ_L9"LS5M" 7GD&#QRPALL!Q:H M%[(=7@JKO!V2]UG9.H4H)=QS0Z($N>@E <)^5X!0[/M5R4]R]>52N.? 0W]= MW1D?06I(_,K$!KL4L3GLEG46%'1UP@0YZ"LXB""N3&RP0^@Z9W;ML6.L##2VXOX\Y]Q2^1[[+F(Q2HIG>FX26KV_L]SUGEQ@UJCJ4.S, M^SS8CAQU/:YTR6U%_/UD1*D8OE2/RY5"L2V36]SNNYM2/YKDA4DY"2)/4G13 M.32V1'#VK0R%?TCO9R;1I[BG?'ZT!7%],%QC3W&-*54'GP-VM"[(1K\Q0C!\ MNT!&ZR/@>MP=]S==!I_)PKQ87DG :N3=Y,H'F1:CH#$T1U)OI>J&N(:XAKC. MXAI]<;_>+:/!=M(.9=D8MG9BW^UA*_48N!X 2NJ*IFLE MS?F)YU@B_O^%ZF^7X"<]VUT8XOPV<7Y4H_H]G%OX!"4T3*O8\_ILU59#O9BO M)7D/DIH>.9)!Q J/>5Y]:L'_TLW\_(9_'KC_ M"GL]%>AV*L\OH%YF0J,C,MV5+0D-2FGIK4ZO;2II?NX8\2A#Y8@W40_]Z,?Q MHY\:() ?SH7MPF9"6*!EEP60\$/B54#9'!G_ MCQVR/M@9G.<+"R.9?]>\,S:+I#!&\.-@GH1K@>W;N8N.C\%7!G>P(=ZL\QH* M*!10**!00*& WKJ ?H4:=@ !O?!CJWWU^++AQCJGDQ:=5?6YY5I!Z*?ISJ[U MSN47^)ANPT;\DC.HO7ARKL[](IS\WCYZP6Z<"V"LYVUV(M>WY5)![/%KKFLJ MS#Z*%$?Q'(#7.V[L>@>$_"4=*WT:\NWM2L]SGC7C"R5]4K?*K?J&2R"?!I02 M ,O1+/0D0\A#R)_K2=&G(>_E!V,UVBE5N>R9C+L62"D@DNIU:6PIAN,YDCU2 M<7@(^1N /+S)>>S#GT]#7AS,(D?4BY(M+?(,VM "LRJ*,>3W8:8HRN3H-P^, M+^D\:&^<2_$4!*EI'K>RC>1D")X'G9DW\[KL;,$#>G@A:(]K,7\*M.0T&.VF2V_" M8Z69.&A3[I!=F#%H4V,Y";NB&0:"%H+VAD'[%3;OIT#;H^9#'>&J+=N0;-L. M*7^]\9.=EDE4WW2G!4>,I8:@O5C0GOHL];JLUD^!MAD4%XZIJ8AL*$5[4Z\@ M4;?-Q:#=&ZPL3>=PXJV$)E=QP-PQ D/UM6EJQNK&RG"\Q=QPX15)>,7A\LWE M!^&.":'XCVB_3@GZ=*2P;&PHRU%+W(1V;1B@H:F@(#&960K-L22\,@FO/$"^ MN%)+_;-\42.#H&_W5U,@=)U:?3&+V%JG*"Q'LC %,>0+R!=7ZB3X M+%^T%T@#F;2CJ=QOU8-.X):E=COE"^;;3S1'DV2.HF Q L@8\%+EE7HH/LL8 MW*:#UW7>ZH+YC*6Y3J7:SW?6"6.D]RQS*(/F*/;P7HJ3IFKJ>J'JW'F9VY8P M@3),N'C&WH;'Z\'W<'XI#7J)""Q7Q4#-CJPZ59S.O+!/<#&8$P\#G<,P/$>0 M;]V:AD<%,.LB!/OI704? 3NBC=QEJY=O\(+JKU=J$2>)N9B G=R?,.#Q_GU$ MAR($.P3[U8/]*^S\CX!]0YA]O["9.GS4)%VAHE6H8FN=@#VQ[8D+=IA0^2MM](^@W9<:;KF9GY5 /2^8A;7AE%0KU>-3NSRI991$ZKT5 M]'/AX0/WMGK5U;RY<3?QO?F#Q>ZY![34SV6X7^:]OPT\A.1) M#R7Q?,? 9$RMNXS5*6&A%B,92RSR>-NF\!PX9AV$,Y/P\_')0YQ?#\Z_QA1_ M$^,K<:N4 +9;-LF6-D0[B7Z.)<8XD4,I*JEM!'$.<0YQ?N96^)LXWRX5 MSYD7A2K @+5IV\/I$)',!.>Q'<[D6!KD, ;NYQ#G\.[YN=O?;^)\MD1;^5W' MFLDJ9X]6NFDN^E2JMR<6.)W#"#1'OEF0].,&^&O2< XYB<.IX=]9>RO\K_N3 M\K]S=ZYQP!#^&W&S0:?Z5YKG+<_U?D7ZZV$P88OHE-B>9@*DX;L=UA,WY5H, M=CQ-&X>3.?S-5./0LPX]ZQ#RI[?4/P-Y7FW;-7[J"?+0P$\.8>(AX@_;YO],XAO)1 WF:K*6SA@VTBCN;:$=)./+7,?'TS\4-T<,A#^7"8 NN,OSG[_QSM7 M\KUY(>Z&Y4;Q? J/42#Y5([W[;J)W/*;T%=C(K9Q%R1#,#WTL0= MU7@HOA&\5&]LQ3$<9O*;EKT=#)D%%A96YFJMH$3B 2!S&)MDLX.7\Z%;'_+% MF1K_7\L77K=5G#>X5ET6)B#8"&V+\X<,U7BYNWINVRLY@7G+EI27.=-"CT5)35% R<3:@:2T+$E[< MA6<1$/(7X7/X".1QKK"DQCA'\=1XNZT6%WSD3KD$\F2L_^-,CL*/J/U#P$/ M7SW@O\YI\!' UTO+MF+ZLQK8SC8@\,WB2@;K!/!,4FD#4%@.I2'D(>2O+][@ M&NW^CT"^0A0TKUN;SFS#RI?<];9CC'NI6K^/,2!1-,=B;\4877B8P?X5+2.\ M-]Z_+LD_'@- ]Z*Q8YP%VO_UA0EX3S#T\P#_EUPB,,(W;PD5RC;;W#G&DJ=6 M%,87HYKKM6*UGMK?[D^. 1D"UIL_=<9=2 \W2P_'O7#P#CT("$J*#:Y8 U(= M=;HA&&-=-J6'V.K'TSN$ );\@/0 Z>$JO07OT0,W=K8%B^5+]KQ8\9NS[E98 MT"D]I'7L28;,L2C4'B ]'(,>/I2K_];IX;@7&=ZAAQV@]>&.*;'\LL7K11HI M;_I3,Z&'?0E!&J-S])OU/"XO!N ?Y\'=PO#O@JGJ&S]@U?LSJ\7[RN .-L2; M=6%# 84""@44"B@4T%L7T%-7[OZ@@%[XB=7]Q=B\&E@:/*V"_J;W#,JBM;)T M(S4G4],D4)9:N!RIY7)#IJ::/3 1;>(EV?,EL?)T163'%V![SB\O ;]3I F3DD3GSZZ.@9- M%"@0YN>C$2*7C5D;$\D\18Y3FB 3FG@SG 72!*0)2!-'HXG?/<(Z!DUP"(\# M476JP%B4NBL03=$EFM($D]#$,0M309JX89JXA5.LP]#$IX^RCJ)-2-*V.XI1 M +\!O)_"C'\=[UMB$KA@O,: P%,- MJ;1"QXW 3/!^=$,>XOTJ\9Z]K@KQ_M7V^.MX9VTR/UIWNBS G$&P*F/20%?$ M!._W%OE;M>PN_/1__XJ^D0B$H=^I<=]5T]@'G09W7A0&2?QPTAF8$?LB,U:^ M,MX#1UF=V9J>CP,:2C:4;"C94+*A9$/)AOEPCQM2>TWQLZMS>U&M%\['A"Y/41@Z$?PR^ MU\ZOEY9@F<.*5 "4.)/&TQKK#UJB@J%IYE8L1[)4#N P=>O-^,@@'1R9#HZ: MO^5/Z4#+A\9PT^(B4.]81J3JPI8Q4CH@]W1 @1!3=/ 5^5K^ ME XH;^RU\?Q$D.?5$F<@Y4FC6^42.F#NM0,B1Q(PZ2ND WB,=A@Z.&I^EC^E M T]>5(FMU!L1PTUU0[2?+ Q'Y!4CL'IZSU@.U84[!D&?)_88WOR M\9\-,YS0C7 OYQF">($;9!3=X9Q)ENW"9NTA0>O20&5+ZX1)]NX+&E Y"C"022"3 M?/&I_8!/'#ECI QR) PB6+>T036\JI=7/O^: (-$=@Q'N> MCW^':KS*1UA$S4A*[^Z_L=P8S>&/7\7\.?S31ZW3B8GEV-'OFSX68$H<'1^D MB*\8#$YE09OT\8'9K%_ZD'[^887QX[3XMY)AW*F:YLWC+F_C!;YSO3#N6^C% M@JQ&NI7$2L?"J2?5D/2[B>6JKF:I3OQ(-33F\>N#[_'"'G*PKZ_+1VE9MU8_ M_R_^Y^'O-,=0_821IL]6$D]>CI-GO MCP=-/QZ9%$\E!GS'R?^Y>_(YF8[,7,[5#?)DQNX)&'&,2?CC_L\>ODO)\_%+ M+[ 2U/_P#2=FMY61//V7YZ8+$WJ+'QCZ/97H^,?[@1'H=YH\TE(] P[^S\+\ MGWHW]1-"_N^N4'B)(O90AM#MO4$$_ \BBGZD=D M]=>I?FD&U92%%7:"LAK-L@I)ZHQ"$!JMJ&"B*1I# 91F<4R?X-_V;SW,K&4H M\E6)W\]EM<,5JTV^>%<0.FVAPW6K0BN=@/T "D*KR+SQ,@*:3.$XJF$882JQ\,,J8UE6%QDB-U4D"HXD' M/*B/ER'9J+[3NBP!ZFZW+C0%?%-/"G0HZ/.6C5'0W++9"=/"<%1*WPZ>-RT7 M: ^;1Y9LE\L-1\WO' 0XG$(HF99F0P^=S7RW!869"5"Q5<#ZW#KQR3UO&36I M95Y1S*)=[A0W.C=FN2::/#,SI/$$.A)D"P1.;R-TD?$N:9D9$N4VL!8Y M81R;DK"(]%Q4,5M)R^R0*J)B $UB73L"ZFH5:A'PYVN%S YIYK9;VX"G>_*V M7=!#9KYV_*X8J_&9ENT^K^]8!=C\5J>5NB^VL(YN*FE5N5];:D5CUP['HX*- M2*33([ 5WM.29S+/6P(!K7I,AQX#RI@YTJI=7<CFKZIN0O=-H+N M@.QSHL5I9MPR\W:G'8SE2MWIROWIIKN4%;%:9+BX9>;M_%*21[+>']L&LB4J MP_:4ZE=-A;L\GZ&S 3>)1:2/LF.B;'18BE/8[-MW6(E=RC5MQ=?+Y=EH+J# M4,RX94;L] J%!V%]7.$+DA@_%U/M?+B.6V;$SNZT,$&H\R:/M/LE;8'U?*N8 M/#,C=O667&][>).V(T-=%22?9JNU].T/'4T-HD<]<&\6QSJ@HRX"X\?#AZ=$ MG*A-]RI3HCQH>Z7C5R7MB=E\KZ%EE>#0?WCK_=/0/6E_[&":Q+]3;V9(E%^Q4JY.M^ MI2=_]_$M[8EE\,<>)X#!=3F_=8F-,HB7,UR7V Y]\[(-7!?(8W!=((^=^[I M'CO7=8$\=H[K$O,8Q,L9K@ODL7-=%\ACY[@ND,>.NBZ?O*_QKEOL9)/ O'08 M]LD8*,USDB__\XW\]KMA85AZ4'S$^6'>.IE_><+>.DPK>?X^'"J<&OL/W:EO M&'?-N.DTN.-=W=#O'H_9CKOUG6!NGB8T>35MSV'$XKBW'8\N%I*U>4LH((\< M@T=^#2-$%YN[>.>Q]*^((CRP0-4B]UZ0<)![P-AEL,K;P5"?E:V3B!)]4Z($ MN>@E <)^5X#N@]^N1X"2NPR70CX''OKK^LX8BLW[8H-=BM@<=L\Z#P[*)-J[ M<&&"'/0E''1M8H,=0MDYLXMK+2.\LUS-FQL'P4/BR3VS$1ZB-,7^:/K,L1G(_ZV1Y,F)!K*9RV/""X(5[8J-A9\EQ MN-BPK?;:'-0J+N=LQ+AKV+>?1 ZEV1Q#'*7@S)[DSTRH3W'?%&+[BK%]U,P5 M[V%;-I:]$*?T,N@O^A'2G;>BCIT$\)/??N(YC$!S@#Q*9DR([:O']OGE=O\Z M;']%+HGWL#W!MTX0%O@^+^ VNY8'RR[B)_LV\^TGG2,9,L>B<-^&V(;8_BUL M'S6[PWO81I>+:M[W4)(OE.2E$W2[G8&;7GU#O_TDJY20W_I%8O4<"-;GZ;VB1;X66$>3N7"-,6H7JYL[8+))T7'=_C0W7F%CA MW\DO_G7)/HA4*2\\U&]3->\PL^=/F:B5N;*%O&.R)? M)K; $8 =*2KW[>=+7I]G7]S%DW?WK[\NV88^PA3'3/6?;\B+<^UK56G>KD^W M8;+"*D5@T 5#!U9?_N)O70 \>R+ MOW-WOA$L#"VYSN)LK]5[=V#;Z^Q=>(GRAV*'TW3/;#FA3_H&I#HSW+NC[:KG MN2=P^BP*PB3E;,L(A,EF MF";O!SF6Q-_:$2_I_'?O?NL8<;]VAGYGJI9[%PO*FWZWV!S4'#4(K(D5_TGH MI6ZX_3GQBRZY8SKB?M>?5&V5#B"+201!YW$RM+1+_TAAR??FG%"HECQ?BF=0 MF/QBR[]HIYL#W\G3I3(+^B$Q5[\2GLGTKD!_$RG==FD*RVK.&G: M=;VUX,H$L%.YS$.X;\87\]M[P MH!.^I._-U#631[9;?NNYDMT -L4%21;WQ/F1 R1[1/\'9(SK98Q,P?KS8@RX M'4+AOEKAOA%OR#&V0T-M5G:GA>KC?0E1 5)SI?GMJB_8/]]MV MR<@;6U!R0$3I.:S7S"!QYC0 MO2@IPGD.E'# 7$FG'N9Y9 @LZ+Z#^#7<4VBPY/7<<38&E8B)>[ 9CUDWJ MS'Y-CK2;U M.C04(^2M+EO8YR+NE-JWP )%X;%:KJ[6%%NUV2;GJ?>HTG,BQ M& DA#R'_AT=6-POYK[B__#G(XR$^P\4>N>$%&N@"@(M4%H\HEB?Y]H#04YFB3>2[3V[]0M<+P: M!^DWEALC,?SQJ] ^AV[ZJ*?YU?=-'[U)V.+#Y7J^8C XE85@TL<'5K)^Z4/Z M^8<5QH_3XM]*AG&G:LD!N>IN8\3%PHMU4%(HN0FI.K_40KG_ZMO/;D)IR;V90L+D,5@>Y53]B*S^ M.M4OS:":&*@)H1 HBBH,&F\-),%@*J/30$7U;_NW'F;6,A3Y M5BV+N*/5#E>L-OGB74'HM(4.UZT*K70"]@,H"*TBWY+XHM3ENGR3;W4EH23% MTUZO"(TBWY%X4:YVA\I)Q_#8R;M_>GDGE.Z>]C,]WZ+_]V[?WR_; K*\^5:Q MD+_D!VK_^[%FR%7MNO>HT(!*J!H RAAHJ$)0.JXPK$$I@,91AB;'*$&A]Q*E M/L;,Y3=E'<6*#;L@YQEBY(^+_9&8*%W8\Z9NO;8666V\ 0C?9_/(MB$.!VL% M4ZCG+<."E8_:=,WGK6IO"PH-=Q(,N;AE]J$5H=P%G8 4;*NUPZ9#JX\3$J?@ M2J:G)HH7BJK$[V1)[!JRUP]%;B+&+3.O1R81$\S-*&]3Z\)&70F,-VNLXY;L M\Y9]5VUX:+[,VEB[/^X7AEM_IR8MLQVENDYUS'>J-7M)Y^<1VU71<)$V)9\W M#9J#F3SEZA*P2*8FNM.UOLV;B;OJ>FQUHF&P[]C8@I>F\C?::?I)J'W_> MLM79CI>ZNJWP_;D_,DB]V:ZTDL3=F=&7F]UXVW3'"B@/@O*\H?IX+7UF9O02 M\#N3@E$U0+U/3[2R%HZZ_>29V=&OJMIBQ0J@!+8Z8"?\O#MT]32W<&;TZV6U MRQ3ROF!C3=!$$=?F%INU0BK@>4O,X0C6-*2(CZQM%SCEZ9QUN;AE9O3+UW=M=3R^.-))EQR\SH [:HLINUH_(64N)%I(H"<9P\,S-ZK[.9S_DJ MZ_'6LJNL$+!K^TCRS!?6'G K MZO4T!"GVJZM>,OKL1 U;8;WCJV CUXV\O]/JBYZ+K6,;)S-13H6JEKUH:MK; MV8:.W)K#+KMBGG+4?UT-VJIMWB"\R.-)=,K=;6TUO%F=%K>M&JU\%B IZ M07/-,.+7PR0"-S.DZE1J#?)-;"1OR3HSJ-OA%$AIK.[SEH6H-]V-.%JQRP&_ M:C:[)NIWDI:9(76F7!OMM$6/CR8+9% 52P9E)==A,D-:%=&B2$X%VX[BG8QP M&8Y G77R]LR09L6N36Z\3A_T ZI5[*S5'EE=*TQV2)MFVVR7C%%D8UM[7!QW MY(W@<7MF2 4,7RI5IS'EC4E;]FB_O..X].U9+N%DH3(M\!&PAM/2PNR,_(HB MQO9K9DAF8;':K%N.P5LS$R/6G9UHQTO/9H=4*VR=89,WXJ<.F$@IJX7(49*6 MF2%A@VU4\'>%"F\LI"6)+*K!IC-)B0V=+:);RT[ M)I,E-XAB( $HK$?AG-\1H!^S)6)&5H<"ZZ1IIJ^ M68G>9N(Q=GEB!Z-67L#J,9/'3;.=+6^F)1T!Q,[N1\I&Y"NKMNZ(:=M,;Z6V M[C&MFF$";*W9-758T9O%N+=HMK?(RIF;5(LJ@WJ+LR:4M B7LIDTS3R51%AB MQ7C.T$9J95NBB^&B6E\G33,T.?=7[,K2NBM^N>"6C?EXHDW7:0 M )0[$+?]B2.WMONV&:HT0S AVDJ/!N7-DIA:7;8RV<23@&7GJSLA\RMZ#10[ MDE@*-.=+*1AP2=.,S(IM>SFR&[,-OZSY6V>;[%@QN.*F&4%8;X)QVZ@MICPR M'05#-#25>C]MF@$B@?6G9GO'1_)2%GBCU-*'?F_?@ MI";-_J(7CPO/CFN9']*H"["N;+A20='JQ7COYY*FF7%Q=FLR] O5E8PL=!5W M*;\8Y,6D:69<78,O$1B.%8% ;,>N,"-QT4^;9L85]GF=*/A$%13"WF1@[(I, M3TN;9K%0X2>*MY[:;5#@)(:S&'.%T?NVF3FHBZC2[; M9L1V!':%#;) *7N)CPOZ<-"?+T \"41VOEP$*/JJ7)W(6]"?B+UZK9:H0>@+ M6EB;74OJO.IO0'VD(^U>:T1WDAX0V?DJSHA=IT0,.'[>WSC]YBAH%4':-#L) M70+!F4)M%=B%J-,.5AO&U.1]V\PDN'.I9F)NL+$+;6RC.B9>&6GQP%[0FAI$ MU1G*W=J&+_=F;6"TVF(QWKOBIMDN] DJ9*?YS8@7L*JXZPR:\@S?M\UTP9Y/ M.Y.F[C5D%955EK"G"Z0=MWU!'UE:TFQ:J#@UN;\>V6:T*ZEBF#;-3%@>\PUW MN-(%'O&LJ%ZJ,'DR5DCBIMG>B40%>?-P._;Y"B1\1=4#3)J1$R9K:WY^92F-U6.+CBK==(T\U2UMZATYE7+ MEU4Z8B6YXXF=+I"6':-,.@ZM+8JOVM, *& M6N!)@(:$M4T[D&50=M@>Y4$=K_'U>0_S.HJ;[\>:+OJ2:N+UJ#J[,9LACS'X M8-,G5FWBB;KW0B7^&&WOQ_G5 M[_7DP.'>Z97U*X;^PUOOGX;N+>"/A:9A['>"?NMPZXD'ZN7L;/'WQ0U-U''A.%!I?X97[2$%B]./^@2?.UC\\ MF6*^LV\>.L)U..\]UB7F,A>MR M?NO"?F=0N"[GMRZ0Q\YS72"/G>>ZQ/8^7)Y+M@[P=]P74[%8^#- M*[5P72"/P76!^MBYKTL2Q0S7Y6CK\LE,#>\>AYUL$ICOY">FX:A'3T>^R7"F ML_+>QO;'L\(<=E)^K0;\:V7@0\W)>XN%+(:5HTCV+;U= ?KQ1"D8$D>YQY>,\;<]$D"WTAT!=R(;ONH6BVEXD MX1Q=N;W(68'^A%M$$/0H["NW0<*%A/O5U )]"]?J6WAD5>*W697Y3E,GK9=Z M9-8M>/.YY]Y)H:?9MTJ^?VI(0I/I9UNU=,1RH02=4(*.;#<<68(Z1JA:[N6< M)EVA"%VZ!?%+$O-;E:-3B,UQ]>M5 MFZ6IZAO!K7+,Z?$:O>UTN& G8R *743R9A[ &7ZA8?^1I^8,8 MWKSJJ*YF!+F[HJ$9\['A[^-Y<32W_Y 4H#NXK?CE,_2IZG[O3-E'B_\%J=VH MT)2HEIV)'/)]@EG07KL]:^'K7^O_<8$B3)*LZ?A]^;_[6GW)P_:5V/;BF7B] M/#>I-<5MK."QU?Y@)W5N--,U5$84N[(Y<6;+%EG>50VQ0]O6+Q4#JZW2)VH& M[FU@(0J#9'164K\P4REP*DE&+;2;*WLK$X&R+B.[V3:M!O+M)XKE2!;- ?!2 MI<##!HY\K7!=@']F'P)[4:STKT.'NMX&XWRTW.@)Z.8S!4J?>FGW'7F!;1:L MT!^R>,L!QM(N-V2TV)WEDXI&1,PV.8QD(=&<)N;H5HEF?YT:$LT!B>:?X.PD MYJ#JWCNR[DE'XQC@2HVX'Q'MBMJXXM0KO'A4T@EX 1&:LE8"?= M1,6AO_W$J!P!Z!Q!4)!Y(/-\+?,0)QG]%3//0X3*@V/SGG*JZUJ$%5;:' M;=BG6PM^MCNNGK.CZRU.8Y&%;>'=VM3E*ZM@F%I5X-M/@LYA%)'#& QRSE=S MSCXKZ>UR3I+[\\(Y)PT!P0Y^=05"!6[/F4L'%PZ58V_/&WYC;%OZ8LQ;!:NV MHH$V\YOF47=61A9&!:3"-T$9\%2'K1@:LDBJ)R>E&&D\1]%8CF7H]W?6LPL: M^T/9;QGAG75_W'98Q_\E2?R1-H>;WPG.6O0O+BLE%/L+$?OC7]@X([$_>FI) M*/90[,]1[+_V7M;9J?7%R%>3YRBHDNKUN-+U%/Q>R<7/8=8Y=WY?D,<,J^HC>> M(P"5 S0XNO?MMGGDO0) U\@=LGW#[//SO'A6^?7;I:<@#/U?@Y M%34Z'"^SH^AH.]\<^DG2IA1YD$8^POK;4-/XT,?2X^ M+=7WE<9L4?:[_E0&DEM?VS-IN-U9W+>?:#RSKXK-.X!;&/Y=.AM_PYAD>)0% M@VE/Y].$>(%XN(%X@7BXUG/&S!QG M['G1$=R^SQ0ORQAFLO-2 MG]QYKRT(,DU1'Z_ADS23=W\Y7A +P-@R*AV$.Q MO\"@R'-7_L_0=Y[O]\0UXP*^K,:$!L1HTQ M7VXMY\%D" :;CDN6^LA_6J_>F> MN%EV.*4Y*?9!?SCLVB@M=7FISV4;@:D]B%1S*3Q17#I&/(8@EA')\%>69K3C M-?/TCJ%YIIL^I:;Z1*PMYNN#5H7IMTA!&#T*\P/WEPJ,'SUQO/JR;\P2Z[MC5"\9F/-!M MH35=BEUD1M9V9JSK)I[1#RN[UQ: F&1A3*\ZWP5&&#JI173G3>Y\(PA]2PN- M9)B>9J?2%=QR4.+AZS$=U%+-EDOQ%(?DF$C396L^IOF2MQSKZ/KWJS-U'D4B M?'A>#>&]0<;Z7)VZKZ2K@Y>Y\UTG M[*DN0\IJOK9J#(H(V$CKA*V(F*UR&,E"HCJ;0 ](5&_%3D.B.A)1O>T^!XT& M-12L[ABHVS(I3_EEH3([;M5KJ3TT1&D4",":#54G;+'5+L4EI$5_^XE1.8:- MF0M%(7-!YCHOYGHE.AHRUY&8ZY5T&'-<(DFI--3YOE?$.F5ZU.ZSXE$IJQ49 MG<[ [/=D:[#0>H4IJ97S*66EI<+H'$$D_T/..I\P=,A9;T6H7Q-GP0AVJ!Z< M'FJO!K=?$]2.K!Z\7]#JX#L[#RRMLBI1'(]PMJN/*EI4*8GISDY]^TD1.1QG M<^Q'K)%KC%&WTBPHMQQ_#@_I81PTC(.&8@]C4RXP#AJ*/11[&(![NCNMQ).( M+$K!P0&=@,5)'M\.D%:LOR.#U;3-XVB[>K1ZR:0\DAOT=% #AMT+:WJX'=(! MIZ#8/NEM#J79'$-\H& R)!(8T@Q#FJ'8P_WSC$.:SWS_U*CJ4.S,^SS8CAQU M/:YTR6WEM\^_WMOZZL#K.<3$0 "UZP%9;7GUHF*F6Q_UJ:WO!F*4OZZNU(4G M48%'-C"Y[9?ZWB!>(%Y@DJZ;26X+\0+Q\J7>/H@7B!>8-!4F385X@?L+3)KZ M8;Q<6\S45] MM;P&V^]'361]02G79Y%=L[Q:J\\70KZAY3O$;C9;*RB1UA>BF!Q!'K^^$.2G MV^*G2PMY@]LR#-"" 5I0["';PP"M\P[0.H$&N1T.RNY(K2B\0!C+*6>/PV;) M3#3(M&K/1U7(&XCX.FTAGPOW"A^QML\AS,1LAC>S,-M4=P&#@WD4M()"B.9; MH7@6M7UJ42]<]/M(&6QK_'17[Q<5#N$4E$SR5I(YEB)A;A(8?0>C[\Y?>S@^ M27U!PNOG]"1H;697F$9SNXQ2M>JF/BTRC)G04Y*H$E(3/%B'@8Z_,2?'2Z9_ M:7[V0R?F7QN(5--\(//1FNV+_+)MF8U4GZ*__63I' JR.< /7K@)TA:D+1AO M"O$"XTUAO"G$"]Q?;C7>]-S5XL,Z_ ^MRM;7^4JWL:$XN\#..P,AWR].\F+J M&J3N==FL<_!0-:;.%SC\QO U*S 2=_W>1^\MDJ$?WDM_>PE K]=EGSY[C\.X MY_%:[0_5]OA,?RGLI>A!O/07$%GJ-\32BA@-0!14QHT%&-19+$8DE1:9RL5" M >.SOL(S?SI@7L <4:>>HTO1HF];3.Y59@BE]UW-5P0EZ'9^4QW8Z^P?U ;J MND%7IT4@\D*O(DUE&QUV;2[1!NAO/^DD 3G4!B"%G9S"B-/.$=0&+D%,[AW. M$$KO>Z0AE""4X*YT$&?U%4'IDAW7AU"&W5H955BLP?"619;Z>=5YU5%>C M:!M*CJF@=.JHQG(40',D+'MY1J'EL!;?6U'G-\A8GZO%]Y5T=?!:?G,--TKS MM:8!K#@9Y=MLCS;J8L)629!Y#J..?ZP&B0H6#3U$##HDJB,1U=N' VY45Y Q M5:W(VSQ=\,@.R0O<<4N+EP:6K ]F@S:_Q5OY'F-)&WW ):1%?_N)Q08/Q>88 MEH',!9GKO)CKE3!TR%Q'8JY7"J$M1W-C1+194Q;$\:0E;?+5O/#;A= ^1%F[ M^GA<;GE#'%CEH>6RYG*R;:Y3JS"IAH;FJ)BW, ::A><3[P\YZZVK -?$6?"J M %0/3@^U5V\17!/4CJP>, -K&/DE20(%7>V-IWQ;:H7'W=F7WB(_,VTJ;PL& M:1MNIZTR6&J,)*O_/!\ MK?:_>10R[..LK?0ZY&GCQQ@-,MS@D1;YH1.6F8?R@8+OD9I6QS4]?Q\,LZ[35Y; M*WCBJO^UI=5)=C%MF7H\[W&)9,RS%MNPQ7Y^SDH&& MR3,SHP_7NV+-5N8KVVH19'UA-L=6@TO>GNEH&]E-#<MI=V ME'S>=-6+E'RDMAV@&FQSVJ@T)JNZF1QF/F]9;0[F"BDL [F\6L\V4[/##:M) M2SRS3M9,!;XRV_%17BI%/6:SE=%UW#(S^@9NHV*Q3#M\ 6.[IEF?.*.Q&+?, MC'[CT)-MH=VMVG6Q-# :CL]MG>29V=%/&V;90'1R!JAYP9;W?8R(21$8H"AK+!]HV;9H9?5#L;S@GBBR[ MH,^%T6 \HMF%&?-C9O0CS-XJ/65+\OWFO$#$VTPL2YQ"9:6$,H>:((<(;ZL! MLEWHX_E&GXIQ2R(S]\94:]A.2^ E5JLU]6 P]YFD)?V\);^K3U$6<2BYSFY* MMN_5.SR9]!/-3/[6;4NC3F$<@7E3S2/+3GLV,3F%S@Y)V7'+N8](-M]G-^6Q MUZPOC$W2,C,D=65T/1Y,UC9%JT@?J,*8FYD*G1W2D)IM!YV)6./KLPZ&(I6^ M:"U$AVB,&;Z*UG82:-1MT^42N5U MW#(S)''A;W86L#R^@"I+;58K$D4Y>7MF2 Q=F V*TF@JEXU!<2H)&Z>-IV_/ M=+0)\M8T[BDN1V C"'R%)X==4V%?6*6\Y+@F+DDVIA-;4T5Z7B&F$C8[I.:T M[RPX*[3X>7EJKHVU6V5!TC(SI.Y4G6%BW@MXH3GLUQ!C3+5T,7EFYO51(T0 MP^@5F1I;1+MKJV2]G#;-+),U\K55B==8.1JM"]4)K91&AAD_,SNHXMRTUY,= MDP?+_K8LSY>D8DW2IMD>U'K5?$NHYRU ;:H=%=56TK DIFTS75AMJ[8D$0(' MZD:M7)[X4U6LKQ44S79!]JPU:3.U*K]L#2=Z+,]S:F F3;-=R!=;JS)21!9V M7PD,0UG9@>"EC\UV83+5^_QHX&JVRA/M'H$WQ^P\K66;?>RVMD0"Q9WSA1*] M[J)*MTEVUTG3S%.'-5G5\M1H"BQGU)E./*O+TF+2-,.ILUFK/ ^)R@!(D1XA T+9%4:@; M+:RXK]&;H550,5?H>M68R75"$Q=8?>ER7/QM@9=7I^Q>"1SD2S\6&] M:^S62=.,?.M1I1UA:+]LS\M4K\P-&E)^RB5-,P+.;1>.0G.D*1?:2[LTFQMX M<6PF33.@]1:(O3&]AB#79;(FKTI E?A]!S*K4*GRU6E)5K9\72R@EC6_4C/JL?J%OJ!6K.F!O:2L;0C*B"3Z%2FRYIOT MJ9EQ@;8G;.GAI"I''7\XIM<-;2X_I%W_M2DQ;G4K38%"P'*VLW3%G0T61-HT M*]\[4&LV=LV0YI>=HEY<"!.!'Z29LS)-&RPYK=:;+4V6S*73,,06.I76]SD M?VV*,#+2W:"KC1V5[&*5&UC8>,[=Y^-ZIMEU"Z;>*%=,T%\4YB,E\I;Y^O[Z M<*8',Z':G:%-U)&QAM019F.1&BII9[,+UN'ZM8[1'<]X*4^)K-0B %=.+T%F M'DMYC7:GPA>J@"IWS=;"TKEE)VV:Z>W"[]05I.6SO( YE8WI#O*1F5ZFR/:6 M-YLRBFSRIHTPDTUD*_Z(:.^O869Z*Y717632)2/>%":S:F6I1K5J>K:%D>3]7W0S#,&9YEU8Z:/*8 !CZ_$)F.MCJ[O3ZR?P:8X M4JA!AV+X^L:8,#6: HC\<$[T? LI$55,B&)""K3ZI. OT5%1?/#//C,PV K/ MQ#II#6;,1M7U ,L,J@6YRW=5=&J)G0X5 DUM'3IMD>"(;@<+W54$9* M$J_)CC75D+1II@-6K3E"V8ZZX+>29O7J;K,PH,2D:89J1^W\0HV(L0K*G%XP M='&U&<[2I[Z@OM>B;G[(LR-;"&W=(4K##I)L-\P+\^5L6L5E1V:6M@7RMCI5 MU_AXLW_N RVG!O*#V7KO&]$\QU$7@?'CX<-30YB*;=FID;@N?LS5#9+Z#]Q' M7PGB&)/PJ?,$2;TH9<'@NIQF7=Z[T #7Y33K\E[]-+@NIUF7]^J\ MP76!/ ;7Y>,E2."ZG&9=WBO0RNR\:\$)UR7/UJ7L\MU?0$!\>\=/1TZ?ELSW-#P M_SQU_L$3Z!\[=]51Y^$X<_+>,4XR9__Y MAGW[W:E"OU/,)<\5IVG1/(H-5T//3,_U2 _DV_/@V_=<,1?-M] 1B>DHN<%>@WN0H$_2G1'$"W! N365WJ^1[!IOWI=M02>9WQ'*A!)U0@HYL2!Q9@AYR<4,1@A;$ M[^]E"]^8&FY@K0PH1R>4H^,JU$<6HZ=I?=/4W_2SD(#;5JK_Y 3O>O7H?>D_ M2#JG(AWZ.TM>LWQQT_8 !##VXK?OD,G:*249#:C0I-B6K9F<@AWR>8!>VUV[,6OGZIF%&2+A]- MJAFA?UQ/6D1$I"Y5:EM^68P6Q-!$NNNN^;0:4K55^DP]I'0L0A0&R>BLI!A3 MIAR2Y:P15<8';5YJ%IN%9E.R)#LI@8)^^XEB.9(@<@ C8)G#TP3)7A0K?45U M^RMDG,_53OM2NCEX\352!X5\<]C:V5'+GFOY_G)=<$6%O*]>3T*B.5$0TJT2 MS:O5Z2'1_"[1O%U^/GZDJ&UFTMA>UO7NDMFVO7+IN!4?"Q;G5_$.WK<1;>A3 M,RM<@\O\L\KY2/[PRP+D?65HQ- MU9BHV!_4#2XZ+N70>77'FHT=:\^E*4>'ZX$^IE.K*JD>3^58ELBQ& 8YYZLY MY]7J\3?".:]4AX><\]O:SC^)&-(+$[_$/.W=W_&QOT3F 0@J":L^74M#^=@>DH#1EM7@VVAIK9:/ZYE!-8XBC;Q7 '6QT1Z+S8%>LM.JU=2WGS26 M0VD\QP#J?;HXNV"\/Y3]EA'>6??'F(<]4+DDB4_C+K&+NU%Z]CO!68O^Q:4& MA6)_(6)__)LQ9R3V1\_O"<4>BOTYBOW77H [.[6^&/EJ\AP%55*]'E.ZGH+? M*_G887R;.'#TUMHL1'9Y)UF85Z+FJ]5O.Q5B77?OLFAX0?""D; UM\X8S7LH M+\Q7J(4O"569B\J^\#R6(Q@J1Z/XT5T*M\TC[]5=NCX>>;N>T?GQ"-P^X?9Y M_FE0+GS[)(U*9;;:69'=KS1;!#L@\6[S:#M?N>SG*8 U0]#/EV;E5;0LLY*9 M['S4IW:^&PA.+EHK*^8 /;A;J)9^]]?#'+SG8GY3>O8/367G/D)WJ87+D5HN M-V1JJMD#$R%G1%]\R;'ZC\P("AG:8G.PY.MEM=+H#/N-#B$^E1GL S)C^7/] MQ^,HDR"7_67 MN&G$;?/Q:>E^KY2F7;TU514=W:D(95Y3Z[RXGS][2?Z'8!7 MQ>8=P"T,_RZ=C;]AK/=7;,#P*.OR@Y2/X].$>(%XN(%X@7BXU M3/2SW[3/$"M^^S#'<\]^W[L)[=3^R\ M1<3E>DBO7+.1*=G@*DNN2M!'F_#H$@H]E#L;R$H$HH]C.&[_!B^<[=YCW7I.&@;Y&)1 MG?( 6P_QRI0:#=:CW[:E7WM9$C35,D)ATE4WL5T=K\!_OB$O15%IGA<69MNN M7=?,GJ)MJ_TV,!5F?Q\9Y!B&/+Y;^[:9Y]8VW).'49X[\QS6V_:G#&'98WF) MCR>137DR$/D(C[HC+F$(ZA,,<0-1EJD?$QFK@:&G?KEXLM-5OC,VR>>#7U8^ M+Q?VN6BQ\,@'1@3"B$"(%WA$>N,1@6=M+;Z9D%.5&YUNE5U50%]&%F.V+$ZF MDOB[^A^GSZ(@3+H4=+U77IQ>DD@UE\(3Q:5CQ&,(8AF1#']E:48[7C-/[QB: M9[KI4WJJ$V7N5B1&I52M399KSN&% 6+-J!$Y:05KA4W2>Q(DGL.IUR]80%Z# MO'9+D9M0#SA3O,#00AA:"/$"]Y<+#RT\<[WYL+[.$^BZYF*ZQ*(RS?!U:^+U MQSM37M8373=QCWY8V;VVZ,0D16-Z#_HN,,+022VB.V]RYQM!Z%M::"3#]#0[ ME:[@EB,6#U\$ZZ"6:K9&#>*V^KZSLCM\W\@7!UPTD!SG#TIB=1Y%(GW+OD)6 M-0@B0T^/)_9?E#R_JV[Z5CA-TJ8FEX)>P"+3Z8L3EMLIMN0T:[OU,4VZHV?HYGV6R6/&QN[L%(,W M5D6&+72L&BZ("QD9?5&PT%/MS$/M;8WL8 MF/NESNI#ZX=VL!QCYJ))@F6S-@-D9TGCS=0N35S1J8*8]43?9*0NOS%\S0J, MQ".]=T-[BV0V#NZ(?F%6QIZO&SZR__L?Z&)S%WB.I=_]-TC_NZA=Y^9]U^FS M]VB->QZOU?[8:(_B])?"7K >)$Y_R6M=UCFW+)F*K4I(M8UV]?8B'^,63;S6 M28X+Z@,UON!I]A=%39\8OV>D+KP:57V#%'>5_O)7V&VOJ'R0W.HN8PT"M"'9 M\QV+5 O88*3,S83C7Z'O'9]3OI#<%S9WTG GI-='I$4 MK&./=&M:2CF._O:31G,LD4U0!HD.$MWIB>Z5 M(-[@_O9UX?C7A+=+/@$YA/(]6C*UU:;/37B+W#1K#-CJ(EFL% MQ1[/*4".H&"(_9<<3%SL)O^O@Q] W![Q?'0S_WK6^?3NGP0V&'ZP[\A+AZ,M ML:U/FU&%-X#5[/=ZBR)8F GI).<'.8P\_MGHS?,->W*0G0??W!\,0+XY#M^\ M[?;W.ZW^EFZO.KRZ IJMFPSN[_[,\GB/>X9+M=II>Y402':-6K1;TG1N8HE,F1! $)"!+05Q$0J7LH%2N4D)UW.+!,G(JK9%B.^;J MSX(JWF,>O+:J=&6"L>EIA;X]A.G?Q[ )2SY%TGP^GCZ^-IT47TXMS>@H1'1_J .)Z*-$)"AD:(O-P9*OE]5*HS/L M-SK$G\5+O4<8VUF(S81H,N8+Y0J)Z%N7I.\)([F)$JLN!),C\&S>^%N\C)*D M2K)2AH<)XF$DP3E==3A?S, $\1 OIU;&;ADO5Y$@'N(%XN74D=:7A)=C19H1 M3R+-* 4'!W3=ZEJEH;9+_9F-=4/540R/&]"_;?O$FOH_I;->,'M 37#SPJ:I MVG,:8QV]Y/<[55%!\;W7-H<1: Z0&+P+C[=A5 M!Y\#=K0NR$:_,4(P?+M 1K\='?;>9EO$EB151X>>K$:;KH"-]+YBFG68( VF^[[!=-]0[&%>P,O/00W% M'HK]J9QV4.QO7.QA\N.;S0)[",_TQR/[)%WIDL,6I]I44:QPJ#6J8>QO1_:] M]K+$G'[(+/M6-MEMM6ZUM1:*REAKRN+T0L0XPU10XHV@/UAM &ZX,/_TI7C8 M_I0AB'QK*\@+WI'K0J=.A:LVTYFO4X:@/LX0-Q#AE\9,(FG)R=0O]U!S\L[8 M))]AW!\\Y8%Q?R=TZ$&\0+S 4]&;B?L[:VOQS3OPW0:#R"6UY8.M3^EUWZK8 M*//;%N()BF43W6JMO,MCK#U?!=*P-6GCE9ZHH&1RHQ[%T!P . R/@L0& S2A M(G"^>('AA#"<$.(%[B\PG/!RG)TG4':9%EO<1$;!YLNMX7([JW04(TJ5W<0_ M^F%M]]KB$Y/[SFGFU+O "$,GM8F20GS^8SG$NWU-OD2\#EZ1#^+M,(9J-CGD M1%I(3K)F8-I_D)+V-\MC/D>AUN]K@:$->7N^"/$6$E ]KARC MD$JRUI(P?20,$84AHC!H"![=7WB(Z+D?W9^O&_C09:@9E9(7%6UA\LC L>H3 M/QI:9KKATO&&FZ.Q[)8+XX8@^ M6CU<5:7Z8K4E*;X,]#GG6_TI<,W4'T-]7#^\@:C1AZ)GB6]T[Q#U]M708+@H M/,6#X:*G<^Y!O$"\P%/OFPD7A7B!>(%1B! OYX87&(4(HQ A7N#^SJ0V:&%H2")? MD'P-R1=FN,(8N M";)N;V,^;+B:TIB#5.G9EW&G<3P7FQ20@B %G;"..Z2@PU'0*]6 5*4W)[:. M'\@1P\J>WU"1;?&XI9,[,W&U6>]P3%:'W=EP:$UKB^G>X +??A(@AU)X;'4! M2#Y?7LC]=LDG6\G]PLD'QI7"#?NHF'FIZ/B%8^;(&_9B3*XZ3=%9 ZLFB6.S MN$/+W''U?)\;VP5:764(,=UKDWRD9(YAF1R%9Y.2OGR4\.]0 MC=?V4%A/U\YR8ZR&/W[%_O.UVO_FL;0]]G&\'["G>RG3XMX:_B]]QZDL*),^ M/DB=]:O()9]_).:?I<6_E0SC3M62%*BJNXW1<>=Z8=RWT(NE3XUBLS%-D)J\ M*$F5.K%:_U!=_CQ3OD8%]?AH]RK&ZM?OY?_,_#WVF.H?H)H4S_ M]]>5Q).7/- )^)_#;2/9!;L?%48\L.;C^C!/.IW^^U__[VGG_SD:1#3/\?P? M#\SV9%13(^&>'UA*2?B M3 3R:%]ZYG:$ +'O(+8OA! %R @)M"#@U[]5$N %[';[@)'MFHCI8^-"JJK, M?'*IK,Q V[K[50K2 VC^/((C$W(,Q%/NGXE'/Z/M.-G+A;8A'NW8'E,)$TR\ MG_NO'3X+ ?'XH>V&(8B?#C USU@#]/0GSPT)X]G+GS1U%W(T_'6_,):Z$[@K MD>J9X# /A/FOEI@Y"$C_T:ZESZ)W*$H60DPS>FP0S7?_T8]?;817*%L\C7#9 M>E0[0WL+KS[=ZG,[J(5(.R1YC=,H$0Q'$VH\9"EA,AQI##6D&8D6:)K268[^ M$;WU,KOV>+4CJ 1>YOAH+PM-.5.H*)E$NM:LUYIRNU"KAAL0+2!=JV:4:DO) MM-IR6ZDHU7:KEDW+K7RV7.NVAAPE43QUTP4<9YAXF&*BEDV@22;"67X8WI^" MY.C)6Q^OZL>OO]0#CO_KO_\>?9Q6>AW*3R;Z?A6[%P%6 A3#"^QPHNGDD 63 MT5#46''(3QAFQ @3&HS&>P[2#N9)F2,FPFY *RKM+8U4M5,:\*H\I(;4\Y$; MJ6%9IL!5YOZ][+5+ [L]5QM#^LQ(4_?[Q2554.G!<+UT._56U@R&S.E(RZ+( ME3';Y%1_NO.V!6[)+OLR',D^'\FUNWYCD]4"Q6@5BDRV7RPYZ\:0'9+/1PZ9 M9=W?4>IF#B@R/UJE5X+3"(;LRT\@TT\F2>>MO-;<>[;*""^ZI*I\J3L6\UH EZ\G:6K4_2 MF7J?F/OYGCTN5,9;8C<="J1G&U/9%GJ#4<8N9NV*/!1/1^;KA6*M MR;GI^4J9MIA\;R6K<)[2Z4C?;>0 U1PZ:K>I+"K]7=OK-(,A19[94*%C+HO9 MP99UIE"JCHATELY[)1Y,M0ERG;.E%L$YW8+UB?'?# M2TK7$MNK>Z^P5HLRNAUV,K1)C?QJ8=:7U58=U,=U=M <>_"I9\BZH'9$RUZT M',5/+V:N%4P[VTV /(/3?9VU92O3L=QY+CO+I+MR7Q%L./0,81EQ(@2NRY'S MW'VVU^4[RYW)3Z'[H:P^8(Z&^2ZPOT\ MM\MF*H'.]@IY*/QG"%LI]91*9JK,E>V&ZFK*3 "S-'SJ&<(N-]U)(Z5Z3:7F M]JEROMMC*0T./4,M?M<.&I+D;A3-)K.C=,#76[8\I,]0J]K,*1O)*/247+]M M6X-F;GHOPJ%GJ+7.:AMH7)9+)"':+#5>9[H: Y=UAEJ9A1 M7HI6R81S/4.MWIQR54EGF^IBU[T7I&DF2',!&GK"KYO,;JUUTF9*R:G%]986 M>X(S@$//$+9=[J<Q$V:0;F9YY/R^1]KA9*S*CVA@./4-8HE6=]%P(ZBK/#Z0%V#3)+ 6' MGB$LL66&]8FLSY35PLB-B4)Q;9'3(7.&L'J%+V@#2;!4/NC*!9F72 MEU;N1B!!6^A/)B4F\,5PZ,D$LFZ!FJ^:75VE?;"5MT6B4 C"H=S)LE29:TYW M J^"3F;C=JAAK]6#;]N\EIL2DZ6H!6CHR5S5SG*H6OK] M2FF9K:YOM26>AF+(/I@W83#GZ.9&@3SHXIK:T@4_#S\\-CJ15[CW")%OI$<^ MU5,?]%&@;^^ GOKXGG-XZ_YI5&2@OBU+56#N)/JU2/0C;^[1\VWXS(EI!P=; M]O [@6*:/R.//8";\%M/>6\BAR\^#-5&KFWZ'O@(#_DM(4WJ#R+B#X&/OWU" M\'KQ#4R7&]&%NJ->/;K!A+F5P/"OIMMCNF @PW3!0/91A/G#ZT*_-<1NEQ)P M+L#\AQD"T !&'_[?#^['>S-L^#OR0PO?GL3-SVS8:Z'JEK%)5.#',S>A6&,P M3AP#UI@]KL8>3S,HJ.4F 0'%&-\@@>+OLL^9.WF8@7[/0/1[&8BB[ZB3=*3/ MS$ T23-/.>9JIG78H+0&J:6A-$R@G:PW- M3>#^O(AH?'R%B#\#V@_)Y=P[$S?8AS\JI/D4#"Z$BS$C_@57AUG[L[/V9S(2 M^? 5J'N38>GV ER,A6_)K__OJNT;4Z]%I[=[9WW;$GAE>VW7/]G!J^V//%<2U-MF;$M%!=BWVGTAAR MZ,1?2'(BEY2H<]>IXF]EQQ%;I11=UPM)@3]7[^&+^#.1FGS4;A)=;W MI)5NF"!A'?4G^AS]IFON++%T[+6!HI"C;<+^3K[0YEUWJTW^9D4JNZ]^Q<;M8W8WDH(,^( M$LBD1)XK[(?](BRUWTUJK^T<_8G4YM/U;-^3\Q.EU1UQDI&?9[=^ *46NDLT ME62$UX(9G]Q7.M&WR\/>A?H6;'3@N@E([(2-,H^ AP:MH5-E.UML-7Y*J_%K M:>C"@1N[#J1"Q@ZL,Q*N]M1VCK+:JSD]K(+V8)D=C$UTJ1#I95Y(,B)S/;T< M,^[&KB$6\L^FT-\DY.(Z/S>)7+8&U7ACL^X0HV5GVX!"#M4X)25%FKVX&K^I MSLZ I0.W*Z1"J*&UA0UGO L_P!;V=[>PKZIU'_,>_!G:A? 'V1K+CUCPC(C. M'*?;G=<6 KGR!I4UT^4KLT(PE) >9G@)^LS20$PB[&/I!T#74Q6/G&$AT^8OL9V\\W5]>(7Q'GUJP6E.G:I+YGU;JI176< M0U9]K6=X+=VS!;J\JRK=?G8BE3*#N31IH!(Z2'4G18[&#C1VH+\0 )RL-_'7 M9U;Y;T: YX)?X2L-6LH2Y'R[R*?,C$ 2*A\*/M3Z;%*43KWJ?WUJMSHL=$N, M-#>LA+I8 LO%'C6VR:^MHL/><2G$=>E'3'=&(,'.KJ=G2W6FI%UQUO L8608=N(7\\(-^>*TTH!U#)DNM9KL?ZVX#"K*2H#&^ICDN>2''6J MC_^%W6/L'F/ACXDJ?Z_PMQ>I/)O?VM(\W==ZLL=V@%<-D/"C0V>634KLZ8G6 MY_:/PP@X)"_<6-\);\:@X#=*"MO?ML%6=^RM[F.W+NP38NZ\,7=^,4V2 2.O M!?0]-,IKS3!1W>.L[:# :Q/ 7=B!\2$<>^YV=<;7Q0&?4DA#['G"[+ZK\]6P M5P!4*6*2I$^O$/QMA1(;VRFZNAEE([LH'?G134S7!5Z4BFP:6BCD^%;FU[$? M;P'CV'O"W!\/[O\R%S63!US); MYDMK[-9SPE#5[GG0W 2^..R$K9'H'[]H:&]129:\XO60[ZAML"1CW^G]HGQR MNZM.,*F)2G<5D$L5ET9MI'%R*,$-!&F6:T12=%/A7@Q_8%<1" MCX4^9BK\=:$OZ3-5(/2-KFR!:PFYPLA>N6&W490:(PI)CKR"YKZIFJX[8*D9 MXP38H)PAL*^NX,V D]!]QX&;M8]U8G,[9N;V5W><]YQY./I6(@:5K7$-<:<< M,N5KKK14M6QQNY9K:G<2:!R9[@_-]!3U Z91GEN2X_'U3NQ'QU"PO[P2?J-D M/Q=HAUF7&YL%09"UE35U#X2PP3>Z_,%125IX-;/M:_C5X1Y=6B?'9I'? MPLK^ZIH[9-%C!Y??:^IV8PV6$[_3GZ?KD!C*DM =$@IV6!&)8ZDD=R9O#3O: MV-'&$!!7%?^G$* X7:T(%EU? 9/97H]>D[4LM=WE^_<6I=?W;4^E#,[G&B%][5?]K,W2JEJ64LIK^3TK6U2ZV;9)Z"4AC644+JH<*JO ML9.-Y?C[R?&'GU/_D1RWA\ RM6I7)X$N5^G9I"-RE0:28RZ48Y)[K=_6UW"S MNYKC:):W33@ ?GM]N;!V;!;Z+>SIKZ&A#6%"2HRI*5))E7SN-P@XT%OC/)O!?Q(%^L\2_Z#+KLU%ZQ\]; M$Q6(>4+4CEQF.BIX05&G704^M\-\K(3H@#6P?'P0'3"?U'*3<&T3 MONP?9/B_KR7<-U[K=U;S^RS*1V7(7SG6SD_M =OJDRI]OX,;JE!^9@X-^:B4 M&<D=;W.IN5_;3!ARJV?D78@"7-B0A"*3 MHO2:P?_9_7DQ?$<5> E=H+^_:&(-Q8K1]7$X:KGI]=?_^UC)S8Q?@ULN/ M%61J+)<_*313?WVY-G\ML M=[L0/\("K*@%&DN^UI+T,P47HE<4PGY'3PV)R_6B^$IB':LPX/DZ^]CQQ1P: M;P[]Y"X9?\JKCXFR= 1D@4JT01407"J8SS%:UWF\/G,YSV?N7Y+NIC1 M,T8^!69K[!.\R2)L!A=SDG;I@G"%;FU2>$!E<\X!W6MX%:9 M% OFZ5)JN&AWBRY5EH=T6&>*(W^7??"97(,_4G.^H\\T-])KR_VUI[!&!ECY MQA+M)K;9/HG-]KG3@^O:-I3=MBWKD/4<<+B$5S M9L^-C-K5Y@U*E9;0]0\K5O%)'LHW1[^:P(^=+RS(WT:0KZNO_Y8@#Y=^N[7L M&O-5P]<*LNH*M!4@048Q/(%*2LS7;SS[-M6=UI:&IX5]?*%'"EEB:HQ,<"P0 MC0\%ON^AP%-S9J&QK).#AD)HA*\Y[MQL!FB5J.B%P24HZ MS47XW)G*;[,[CAE-OAM:'OMP^/-L)ISA^!4S'+^89?%"OL'Q6/U)OL&+5QJ, M^LRW:^SJ7ED9G*':[:ZVN(=F!A5%'Z#+DF3H5\$"1Q\P(F!$B(.]MWE4F!2[?9Z,D($%,9@A23%7*'^9LS\C:QA:99^K>2DF"WVBQ\I MOK#>"Z]V<&N3-H#%DPC)/%).D:3HI736"^QVU#Q;9SRJR M'Q)(?5UD1WEQ-E(SM;F2GNAIQA4:Q2(1()%%MS[I),=)28I^560_N>_S_B1C ML &.;NQSL5S/UN<)>QDFMV$#\S,;F%_KBN>3=$S$I+6(1Y4]]X[/H$(_%73& M;SI6K55VL% MMB<4[W-4L1N*/"KS1"6E5RNI?U5G.ZR9$3K:"2=JZ)3P[(0W PD+> EWICD@ MX0+/,P&RM9 =@-*P449V +D#GZKB,Y1/82+L785]S[*V#=D>E8.=V2;:UZSM MM!"GIS0('6E[L026&T[N7"TIND(TRT6F3VI%<I""_7\,"A@48F%$7 X4TI-9>4)1;D4Q").WQ([8R:<;"!20;<$DJ3-5'KY. M@.'O)6M-SAS*XH1/G/#Y98R/%Q(XCLD(;TO@J T&9&4Q-FL*V-RO])DI*KLB M=%_X_=$#PZ-8YC5OE,4&;V(7M[BU,&$LB1&6W"(9[ ^Q9#K>M=@2V[=(@BCR MV5*VW5:I!L*2_9D(3R9I\0J]+6XI",CP&.\+AR*[(S1"T+WR\ <4U5C#;0HK MJ.!SRV]^;GE5>P ),/J_\L!R3>!ZCJ%#+P3]0;;&3S]X-+(.=\\>GQ;"U4T? M$479Z#/-FH(F]&B4R03HWFLX,.\STV VKDMJB4NK\VRSF=_JP9 10IN"3E*, MF"09?$L=IS-@6+BZ:H\/+#1[MLNK&;%)&H';M(]4;K#,&DO\0RQ![1M]WLJT6F1YKG=%,J;>JWFV:PY+M4:" A0=5PZ24%? M@GLU2_M+Q"!:_G(9I5YJ9F)LN+IIN[X#D#40F@D3TPX2AA61":X?WV;_G.G9 M+ZP7WV;'-P^^"6M_)H?MSXJBHE:+*+\>@O2SELO8C,-F7*R/JI_T537&57"N M0C+1-0M226L32BX_ZSHM9\2[M6#(AL7&Z*3 \=!:H['+AF4=RWJ,SY_?).M! M6[\?S KEZEP;[3ILJU3?6*J,9!TENG.HC-CI5?HOXY/]B=YOUM2H\GG" ;H] MM?95T1-@?Q0?F@,6G) 9)J39([C\D-@??A+TA=$CADN/%:!_M)!A/EWO_4,($$^\G>\<=UFE8 MD+6]GT3TT7FJ1W][JXH^@D]X[.K.;,5'O_"(G?K=7Y]76TXB_'/AV;FUKB%I* -A2!4 MR(BWT,??[W MBWVAJD]<)U^62-H;[IQECY2*5@.)/0?-^/@*9<^ ME]7H+\<,0'1K_8WB>W&^TN%L@?-D[@Q_*F)HC@?4,9[,(?SY9]AN34?GQ ! M@T.W%W#*6V1]6+8'Y^;9D!TU?VR@NCZ0R^"+T*W[_95[S82/U+SP>-F]@U2[ MY&)?)L-;(7-LK'_]%_YS^)X.S3('@+:%! C!VAS0IO M%__4S$#;N@=+7+H[ZH.?1SQD0HXA[QCNGXE'/Z/M.-G+A;8A'NW8$YM[_[7# M9R$$'C^T72/,,PB+11EK@)[^Y+DA83Q[^9.&FAKQ ?QUOS"6NA.X*Y'JF> P M#X3YKY:8.0A9_]&NI9^QXB-1LA!FFM%C@VB^^X]^_&HCO$(Y%VD$U-:C9H;: M6WCUZ5:?VT$MA-D#XF0/ M@-,*\>:B:W@=5<_PQF-0'3V9PN.=^/$K7$UT3 UQ]+BHQ'%5B>.R$JTCCO[W MWZ.()R(=6/47<-;Z)2S[I]&UFC/5+&,7/@C.*,QE#W^!VKSN !>E#*%?:Y-G MFX\FF3EF$B'=#[?.F$ [S?)DJ$)\"]D$=?@\'?JN;3CIE&GK\[T%,!H65\Z0 M$QT:* NGL&MZK2J]W.R-&,/RP5CV7ADW1,.H'PD +8LE7([G^.!B('!"Q)89FD([:X8H2*6@6IQ>:6O_P%)ISY[9(@:22F/Q&P,$[?XY?$G\A8A$D_\Y M_#'\E?I/,JQ2N/];.GK;\4_[CP/P_!/;=_8?_2LQT]8@,0+ 2BP=L-0<.+&E M[[@^%(1#$43'-P\8@&)$#ICZ9DB.<+IH1 OHOA.&><(HTB&V#5%BL3!<%WD$ M?SV::$M)']Y_ETA#_T@+^]4=$_C"ATQLVT,&W*.,/S<1:2-SBR:+N"(Z3M(L MRX?;>'9#CZM"XW04PX)C0!C%2JAWK;O$%%C0!4#/A'\&2_1([8@ \.L&?.02 M;L"1!#E9KI_9O@?"VD["7AB>]VPK75^?O;*7=PG$,P5C+XWV!XGDT99.) MD8_.U28FT.$ZX0KVNY/0QO>^ZT7+]V::EX#K3Z+U(Q+82\-"CX*4@RP/+2PT M+IFP@ X%4'.VX9$<&CC1#.>PS=';X5<@YSR:VD&-)^$T7-^,V'*$[O')AS5&5SG/8I&'IYX^)('[1<0Q2B-36(!!7/FHCLA<).+O@6@ ML9-,(,A!BT6&_W%%4-+A&\<0VI&A<>#8P^/#_5EH6TC#!-@L 4K,/;PS(M,6 M&C'H16A2&?C,Q0@XT5\8*GIE,IR6C3I8/E];$C'#Q/<@\SX\S44?[@?<7=JU MNBX\N3/;-\=HLZ!9'LH4_,*];T5>?RA4(>^<^V[$[U%YU8-PA][9V=%&>&T[ MDEO$=7(DXTVPA$YZ KXL"YD]VE.*)$KG:0:_?I9D="1LC^5\K^KA/@&^#C(J,M0P/>;:\/7O_2P@X0^W9H;L5@7[*$@+#3SQ@"1"Z9HZX8C M0BYU0#H[4K2E0N;87):GE<:%8\.%:O9)F(AP@8Y"10%4$A"03LH.^8B/:I.( M!9$WU(IF>Q(BJFJ.,^SOBB6OJ599$JR'-+%5"&!3P8]?M@5.8D.0RH=G)O9; MD AF!M07AAMRX1BL@6DO(ZR&A/(G\)LH!SX$1"URS"K:U (>--":P+6M4,T5 M%MH4L?=!=U6:A:/J"J7?"[O3+P#"1Q.]QH"HF3S**5*)KFL[!OH0*F*(^&B2 MD3!#%D'#0]'ST5D1%(D(;T?;!&34)8K,1$,UW8=\H"->AS-'<0\D:V-H-,#) MP4FA0R0=C)&.C]CUWT],SJM;H-!Y0'Y3]*2FX<[3T&2 ' I_.IJ:);5M-_P> MN2(7!MOCEN4R)4K!J(%\''I]T?Q#H]9PQ@2$=6^+ MF-J#6.I[=O@EB+I6R 3((KQ+M#03O.G!D+$?#,F%-@9(14'\@PHRY*0$.E.% M-E[E:'/!4?!U\/]H6@CS[2 4621-2QOI @3_^V]#^]<%MS(6X':'9NX8A 8? MLG#AMK]8.BS25&N(!+;O/C%D7<_P_+VQ6WOU$2/-1)OAAAH4J5@'?@':"#:_A3:)]Y3.^ N<9@_L@JA6>$[Z/O0[MGOZK.:[Q#( M#F^_T7ZCK7F&R'".89OT1!A3B_@$-:=!G)C-R.$F/F'>@V=A0XL>,IP5VC80 MH)&59"/H7Z F 1 J4$8>4B![DD2VZH-,(=,8[9L#S2AD/N_G ?=OB<[](;[? M)0J31 ]*N @%K$,]$#DZAQ'A$:P,7GV:?0%!ZSM>>0SC2$9MM&/QL,3H;^# M-!2B#=Q?2&<'H(3!/08]>AR2&[ QW+W;%LT?NCU0DX8V:\@"VM&P0O[>> T% M&IHG4 _JH4V)^'JT#T:\YM0\,#6R $,?Z$:\SIRQ60K!$?'7T:N9P1[VEHSS'V"VH,] M_.C-'[C9SVV$D]\_U^$)1>+3$WQZ\M[3$\C[>T-T'RIZ+5"]-T9?_-:K)FPD M:(^_=G7S'!+Q453>L2WXHQXYV6&,?AO]>QH>SMW[69ME2S6RU,YU[)F3S3F# MQJ>PPIL (4;B8=V)IPN_H+XYG?B[SN3#+XU1GF!(<<*$T/X3PA5PT$__>?[G MZ(7AF9$((@'_^#H-X/+'H8<;@E]A@6S)??P1;LAQ MUY/G-_4LL:*=WD]!(DCV-E,(]^EA%MRUN+$-I04@(K>A5Q*II403F :8/&:Y M8XHP,@CV#@HT!/=%'<(O37TC.IF!/Q^EB&0>O#=M;(>',TOH,B#/$OG9R*:% M=F>T4M>##CW"BZ(&]1+T>ZC#B0!RCCQHS([WK@RR-,- ZT.8]:E9>L;D?,E" MM9U'1QPOVZ5/U:5V[)G2FB[["I&?SG- F%0RVFJD30.D*_?I <>1[K#8GO7S MKCCW>US>S*V[&^T>C12>CU14C>TSK+8@@0&RA:V@^W(J&-*GSRSM>&G4 ,Y& M(=;NC%^V!]W6=@I'GCQ3I(JIL2X#6\TU1S.P)!5EC1HOG#YSZ3F: 7:.JK1& MG68M4]5,IQ7 D>SSD5TV?]_)\/)6)6B::)>=O$:&SSQY^[@NM<99=E"0"2:$KVR( /4O,F,&0/9UHMEW5F^MA;:!LZWFE M6357>A;=V#U]?6^2(D$J915);5MBIOZR[[MPZ[GAR=M'\QHQW-3&*;);]X4Y(HY$GV]1/V0I3"%)#12NDNUU% M@*S90"-/";]3[6&ARI144#5:E8!V%IE\ [W]9*)D&[2J9J%=5[K3)JUW>V:E MSP?0+CL9Z9.I9=KJ$EO%)W?E_BQ;=PFW,11.1U+C2: NA15/MG8E<=OBN+5A MH)$GBY?FH"R(?=!3TO72NM07&)!OR'#DR>*G'EAUZFRYK"PVXF(+U)8Y[ 5P MY.GBE<&TS_K=IFI8GE\1QI7^2D;//%V\FD^56N+]M*EV28W*>W*[WS3DU\H;@CEF"]=7MP5NBD8DZ:D[-B0=EF"N9PWBV7:,AWXNE(P:XU>;/9*L]S M?MG>DFMZD9Z@D=P),+=(9<+> W7.M]=NU71Z$VV%1E(G^T1.1TXC*'CVW%>A MJ*;R:H\8-8;2Z>O7U8D[:66,ENIWU[1OK.:\48'ZBSP=VBTNN5PO1934A5-L MV)22$5?;!GS[Z=#[GE^5JVIY!)^ZV]GC+B2]&Z :GR=#\YG&9@!RXKU2VP:% MXM(9Y]:LC(:>K,J2T^K&*)@EI3L7:*&47E=4"*1PZ GYF4ZKL9EN-U,EUZCY M]>6N-[N?AT-/=2AG]UM^M17,6^JJMEK4%]T*&PX],L"5W>@F6 /+!ZAA+ I# MH--'U.LM[;L>-,&=4_>YM5IM'8BEI;G1Z66E5'6T4NN-TR.O\^/BDN9&/TUS MV^\"_&_HXQR3W+Z.+YTQ7&TZ=<#TF+:P7_/M?.=NF,=UF%48]P^)$)YBZ'MF MW!\=Z7M^=-$Y\A384T=;0C<"'6DV2X#2*P*4A 6]#N@G0$M_!%S4 MY@9Z*5[DY5H:.M5()K0%G78O8/0>0UX8.Z8_/Y;S?G@\,S21?:@; M!7WU*%C\-+C^Z,K7/K)^>GKA.8>W[I]&1CY-GPF M$I7#EAQ^#R\;_XR.(E!NS6^/ /8[';[X,%0;073S/? 1H?^7;SH^^M[;N>#1 MB^=@NMR(+N0=APD31\+<\2RF2QSI@H$LEG3!0!93PF @BRE=,)#%DBX8 MR&)*& QD,:4+!K)8T@4#V54)\X?U_WX;&KO9)HCG#D7^L#*7;IOHP__[P?UX M)[O2[)T@7G5_Q-?2JL]OV&L%+MKAO>)*=)]8":^,'JM77%?3W6 G'G>=>+&Y MRC=D@I:Q>8T%,$9<@SUNV(OTPNSSD!7,D,F#1'T.#'G]ELJ?\A9FI:NS$L:B M!*.J.$[X2 Z'3_,\"/A=>^LO6S0BSS>_9AOXL;'-9G84Q"&,0QJ X M[-TI!NV-G6?Q+?(%2_/)ME(/^_ILV=B,PF&?7W\=Z^C]Z[,@U==PU;X B[P/ M.V+6/>E)_:*OVE7X(@T9H@.8F#449E!EC ]JPL">S1AWG?"94:W#W#$Y73/E MC>$.P[O?SA:^;#@5>J5J5E.8>TY[6-P!2Z&[!(!>A2)?WC%T4G)59*-:SYHQ9H;J9$OJREQS-LO*+C]OW!8N*O=!J4(KU&A> MX_M"W5B3!KF2(5QPJ&Q34J3X)"]1&"XP7&"XN$QGMS?#!UR9H:RGN?XZ6WAHN#TW8Q;))F^"3-"A>/>L0F*LB'KVC;7MBM M9U^?[WJASZ=RQ4"Y&ML^*D\6!Q"Y;FSTYDN/"Z:Y;?[&1@:[F,X"MBG(O 3L.YUIT5=*;5V]35_/Q6R M!"H@SX6)7@)-)3E>PCB"<03C2%QB);_OW/SQ.***H]5Z;N;3\QK1XM+32B_P M%80CXH]?#)7D22[)BCBE ^,(QI'8Q$I:=+M92M%5G5Q4&5IEW=FXV;AQT*,' MTM4\-2(J9$MD1RJP9:?:#MO4H%P/#N5Y)&GA-8,DC'K\.ZPL_NNDU=3E:Z,_ MY?#GHA_]Y3VET6]823]L&G"^>/Y),\S?U*;_EM7H]S,(B]%KOF? MX(+U7ZI(&JXJ^-7H@JL*QI0PN#QJ3.F"@2R6=,% %E/"8""+*5TPD,62+AC( M8DH8#&0QI0L&LEC2!0,9+EB/*Y==K2P5+EB/"];C@O6XRC@N6/^)JR!^(U;" M6(2K_N)BT;A8-"Y8CPO6QYB9, 9A#/K[&(0+UG\NE^[S\!HN6(]9Y+TL\LDO M2D>OR("UH8-]JNX7+ ]Y@RL5L2PF^6H,^*O>I[G@ZC!K8]:.$_$Q:V/6QJR- M6?NKL_;;C>R7EG]3GSVJ1E1I%A)I>['4/ /=%2MT$@5KXKOH-ES=7RP3K:WK M@<7E^D5]D;NYW^6>[T21;6];C:@&,YOD:#K)\;AVZD6O^F-H^(S0<*9+DB\M^"A@V394OW;2D[7W27FRJ0/885_[A,T#6A MH6J7R4&NT!HH+3< N?RJ1Y?5(*J43)%)DJ>2C,A@;,#8\-VQX=)F0Z%\/QI3 M,XY7NN5^F/?Q!MB$W8Z&X*HP_\"RTMT#%0GN077Y:+,=\.S'3BMBPU#=ML*+97EZD@JJ[,)RE:3 K4%<,9,1.R&!4SQ%CSE;#F_5;-F[&FYS87 M;*;.%DDC$TRI&E^C""=6\9%:R\GF)]M@K*;Y\N9^/;)'H\F^ C/JA4LE>0H7 M8,98@['F1M&5-V-->C>;9!2VI<\)0%>,D9+522Y66#-MY&W:K"HR271IICB3 M=QZSF$95FBDR*=)3/8@'MZY3<'57=>:A73Q,J?4O0\ M5DY46:,J.W)8(\EM:MX,&HYO@\RAE#-$&XKBD\RKG7F_1,I(%CB.G:AH4PO MF2 M7Q7^B*[*7XJMOV]$RSJ'%< P(#]^.7"*U?-LDS MKV478ES N(!QX3:=BZ^)"RT)N+OZ,E>:&P1-F?U@H+'3*<0%Z!?35)+AA20O MX=0_# P8&.+7BOB:P# (,DUGD9F/2-_.3[9S2ZJO:\A@"$^SA23-072@/^1" MPDVKC!GNTG91HUPWF7"CV*B;@,R0L-&6?HEK2I>6]N\BVA\9)'C$A[(UW@?I MW7/WB)SUN%1OTO7Y5FBYH+[(.DTU&%)D5)I I+BD^&H2"HYU8^']/L+[(8[\ MFX6WV>^ZJKS1717D>K1,KZ1LMB,CX0V+![ ,F23)*[KI6'BQ\'X&X?U(;_O- MPINO&0.';GM59;%:S>MJ?=25JU,DO-"7EJ#!3"9YBL;"BX47"^]'><1O%EYO MS I]?5XOJ?[$:9=KJ2!7+H6:%_F[?%)@Q:1$"M_J_GWT"GEAPU7L0MHE[$D" MTA.$+>8"S7$TR]LFM*D#P )8WE6OW=\ZR>+&\;);+S\NZ'%UI_LQO]R_\WH&/-Z61#&](]93O):_/)>+@PZ@T$'=#SYR@^*='X4CR& M#@P=7S3@\#>@(]-:%:U@Z[94;>ZH2KV]U,UT@* #Q1U$(4E=,]Z/H0-#1RR7 M'S/HN%ZXXV] QXCML9T2[Z1)+>V!X)[G"^UUZ+"$I_Q)DJ&3)/LA48\;71,0 MEP_7!"Y^/>")!#!0 L:VCVH8Q@$!+EB;].;KC(NH7S,VX;O$5-.6OTOW>6-V M#P^JW-C?4 MUV[DWQXHPD1CD;M#A10$^23%DDI%PF?(K7HG#>/!=\. J 8?+ MXD&S6JH[-4/E24.M%?(ULE8;(A^"1N$'BDX*-)7D>'Q%%N,!QH-X1A$NBP>+ MH2!91H,:D/2@-%PZBTDJVY01'H@_?C%4DB>Y)"OB-$*,!Q@/XAD:N"P>E%+# M[(SL*)3J3[QB=CEQ4M(TQ ,4**"Y,%) OUI#(XP4_-M#N1B_PF%H2PS+UZ)Q ME^;@]\IQ-/^J#_?&T.'O8V/]Z[_PG\-S=!-H#N+TV?YE1SY&+SWP.?G/JW#K MTX[P-'L0U".K4E2TBG#6X;__^S^/9_\0IR-TV[2=GP>1>[2L6=1$G@ZE;PJ( MD0.T.:%-X)M_:F:@;=W],@7I[BC-/X]2B_8A 26=X?Z9>/0SVH^3S5QH&^+1 MENV%G3#!Q/NY_]KALU!0CQ_:KH'8YJ<#3,@_:X">_N2Y(64\>_F3II! _VO-I(=E(*#!#E*M]DSKO;K$=E?8M:G6WUN![6CN'?*LX"9"+ZRJ#M-MA64 MFIM,@/#J1_2VX\A:URSV>*O#SND![6S:?6 %<@..9)^/G/,=QG9+:Z 2BVDZ M#SK5CA9,A_3I,W.53F&J"(NV8@!!K524N3(V SCRY)G*;)U:N4::4%=3R:QT MYQ:]RLM#YO29'2'@^/)0&LY+PR(MI)7EVAO+T$,CGX]4F9S7SM1*FWEKN27K M$DOLI&X#^7+/1\X:LQZHUU+I>?I>7+%V)[A4PA=KA9.2HW1BL"T&/)%NLE+IO M[G;=3!V5&ST92>;L58OV6FNEI8BY73^GEC(RJKA^LJ+NAF+-7=W.JRN_N5LN MW3'7GZ!ZR4]7- 2L2(MC31QRH@#)P@O,4 )C:!Q2C$:/=$ Q(OW\V2FMT.P& M-6<]-^8$W;F?\H';.DMUM/E76E=:Z.S#7P8A? MJV>IFI/3Y#+M=E9D5QXH;G*-JJ^W(&Z=:G*L+99#9S#H#B9A/3Z@Z MY%B6)G5V-*2U$3-D-4 /-9K5AIS.4!K# X;7Q.?/UGS7M+DB&)#=GDH96K': MI,IG:;6L@.JRVS-V"F&I]?:@!HQLMG&.5C6J2->JH$C,C?54';JM2;;65OZD)FWE M]%"&VKN&Z-UE^1G M-=<>BM/N9#P]1ZO[=LUE_4)JI=)F=V@R4TLLFX\E\)DY%'UO-&RM5ENG(HQ+ M3X4_5&O5(K1F'.81? M@D:H'1FWA&E8X"C@)\V$2Z$/7<#VH=G^&DWEB'U["S7]JKI^ST9%I[LG6^+ W MV] 0:,/WIDQ;GT=&>@Y:=7M6)?W/XSYA#ZIG@<=SQ'1F;I&VWYT-]SL=OO@P5!M!2?4] M\!%&\\NQF$??>SL7//*%_G:4AL%TB2%=I#L.DR5^9*'O:"PN,:0+AK%XT@7" M&*;+]>CR]DRUMUEA-]L$\>"S[>.#(]LO<[11>WG8@6?_KOR79< MADNN>[7YPGN3 7I8TG[/*=193L%0<@THN6'"^(69",5[/@NVO'[$^#F9Z;8E M^2_/3#2&'VS)/'#$7[ZE^6.XFO&_/A7*W(A#KN,E?\,M^9V#^GFWY'V(&K.K MC_)XK5DZ2"RU;7C?*S%Q[$5"WQ\B7:8V"Q._95\B,3&,('^_(L6R.ZQ-'AU1 MBCVC[SO95HM,C[7.:*;46U7OG9<2(V:L[WDQ3#\\<.*YVFETAJYIW>Q&39=! MG:MT>[F@A0[RZ1^_&)9.TM)5"J=%>B]F#'V+]..O*]>W65@L!)NBA\P^P7BC M;,"V.EZ.%"-M%-<"J=\[E>E'2/9FUC"8^:K9FAL%=L%QQ(K-!TBR4>,1B4_R MU&6N%\?%U6G-C&6D?E$"JJ-9KN%]"7/T8B4#?G-<^X4$\"J:]Y MMA[]1;O$L):LI/6!P&:W0M4W@B$77N^5DB+#7$^=?D?=^54$\V-CC5]--;Y) M-#OC3,M<&@:G;!=FQY5MN9BO(M%$-VW9)/_JK?LOX:@JUZX@^H(U>^N*-!^G M76.X^%B(_:45\B%K]\#1^R[:Q]H[NN[X:/1I_8UR!MRGL\I&;?7OF377R) * MT8#S"YMT,#R7I%XM-HP]7HP15W"+;[WZ6(#$Q6V#=Z.$P=1W>LJ2RTJ+,PP7 MM+WJJ(M0(NP&(C)"DB0O;RWQ#DCLVE^:E7(7+,R]Y4&DQ;&0QWDT;7,4+,+M)"DF2O&LK^E&K^U 'Q0 M&/O6RXR%G%]-._^IH'O;?,ELUI?9>:EK+H3:LC!M^4C0N5#063')4']4#^-Q MV8E/>^?N(R:>GFG6%* >\*;@?/7-L>^ _D__/L2OL(>NXFE UR4>3-.: Y( M:"YD#=.T _=XK_/D!NYO+DI^8C)]TJN1(G,_U:"-N:*-W'%UTGI;QX* MS6.FN7 XX'4KY(M=EKF221 W:7GQNL/[)"9F9U_'RD>/O-=DXH5KB-%=H O) M2Q@F?-XZ-N2D"5(RQ9:DE4);Z3+\]&,E!E,[]YMC8I]*%!4N' M7I$;1IY PK,3NN;.$@X48^@4C:]Q%>,C5-V'G$9?7R'%04(_KI7KO0B#)*Z23+LTF&N6 F=SR5 M-53+3Z4<"K@]M8Q#;^Q+=I!Z047?.D7C(R$AALM_#45.]B/QU]<$D8,8A"#2 M?!"!VF3OV9[!CY5<*@D=^SY-=L4B[PGC>=!?[S/>('Z(7)*EV1/\^-=GM@G. MF_9GZM!$]2(NA1FW/B;^*"/_UNN,AI=36"*Y!=O<&ERY;,.ZW& MV]->GIR&XV-5?*SZE4Z)\+'J5Z,+/E;%QZJ?[@#M\X3\\;$J/E;]\5C5=XQ6U-=JBMS M>DST*4?M2'5SNB_4DY1X*2FR%#Y6Q<>J^%CUXXY5;P0B[SE6#;).LZN(_G!> MZTK@?N877;IZ/%:E13$I2.+W/5:]8+;DK8\;\;'J#8Y5Z>%RQ*V;E889D$:Q MU1A-,SLJ)_]Q3L5[+?Z>VU4FY7'&5+I=PF<*0,XN]?VQ*I.4*";)BF\^5OWW MLSNNG_B@]0MUOM66X;MWT)TY(EO:=KT/['\;+DT\KBSLA?MH6L<+UCJ:%K3/ MX!_@Q__O:SV^)0;?M4@.ISDTF2/1$.RH < QDHLV#_.W"GT::&1;#=V< >'<1()[ W[$_][K8 MK/%=7]'(W$XB=L5!EK8[TW/]SKTV7UKK.U)4N[:H9"COGE^.46=TX?E(6C%8 M!'@UJ]0Y1]Y16;]GLD9GQJH6*%@RID^;DZ?S4GDR! M!^;^8-!A5^GL<)V2A\SI1/.&T9M6P4*:EW2I()HJ7=EZJ(7[R>NW'4GQ1FS; M4OQ5S+=SOW9Z4X7<4HP(^/YYQ05JD!DF^QT=>)5I1X[]P.SU2Y1R]:60G&RDWE.0'O"#NKUA;J2 MNY/UP%[,AF&K^=-M8@2FG=J5>D626,]:O76ORJ7+C7,=Y(N[G6Q9]B"K;+5^ M)ILITLL1:)SM(.^1VQS;#3AEM=;T8&<,F[+7.-=!?E8D:5=GJZ.Y7RF*9;JH M6@K<)O%T9&_HLXW)KI%7M%#1I-)&[>Z*M#)C>@*U@4.ITZ'ZM)8KC2KF4#5J8[LU)T4N M* 9HZ,D$4D%-[QA4OZ,NUFE^LYU+>;,MHZ$G?-+MS4JM*;6Z1J\7V>&R M1#;0T!-&(5L$F.6&BJT0\IJ8<(34,\OA7$\Y153618K0"%$I.1TA11'E4:8] M13A^,K0Z:2OU27U0)PDWTVL:O3[A5<.A)^OB*;W7\5S;&@$^'6@=.:0^/1J:_H 3BH8]GA/:3N[W^P'=S3]O:O_B MN"$:1EVIJ_W)N=K+]B)S:+4HTA3]GT1*<^%NANK00&D[8_A6+U&P=.@2H)(U MB7 S;F+_15.SX'2,A^FX:#H)PX6:%>E7?[E7OM'BP9C0H+^I34$"FAQ0MR/- M#[^[@*/";T)E[7LN,H!069Z3ZCQWQUTX^UH'3$QH&;C1-VR4(VEH9F*,OF.$ M$]&0=>J;XX2MZ]!\-28)%\ ?HF) MK.W&PZ6+#)BX5I<'QPGZ4&.@XN!+P,; MX.@&6J0=?@/YT? 7PT+'#X]&WR5:X9?L)9J#&]HO'A01-#AZ'#+_W)#&<"FA M609-$B+:P!<&3U%)2&2_;!.^"P?MBQ:%"[7G1#FEP=V'E6MJPZE'I99"FH"<(.-GS5<:X478T^6I6(Z;+C>A"WG&8,'$DS!W/8KK$ MD2X8R&))%PQD,24,!K*8T@4#62SI@H$LIH3!0!93NF @BR5=,)#%Z>+M;T-C MG_JVW/&*)??>*Y8T>R>!J?N..$K<5145 L#T9N "+/-([:A M/PO;Q.O>/&8FC$$8@ZZ#07MCYYEK2[[@Z3W95NIA7Y\M&YM15_/X/@^OO5@& M)+Y(%5.UAWGFG6 2L]OHU6.VX46$ 062?WOC^BO>)XU"M7%<>EQJ5K!G4U-U MOM!O-!==A=P.3"T8Y=O<-M]X[R4OR,U14GG9=L\5H)C4^K-U-AW,%3X7>(UN MKSM0POLW84T92D %*,AK]*N.U$3,9/\6+:PQ0,1NZ3$#B&?U* HFLR"E09!6 M0;<\(&AFNR0&[[Z2_CN 6$^R,X=A4Q-E6Y_7.K7J:F/OT!4Y#EU!IUDJ27)7 M:6B/ 0(#! :(V_4!>2M Z'R]1A5+O9'"UY=539T7U(:,+ CQQR\AR8E<4J*P M!8$! @/$%RN+]U: :(_X%K&L5C-DKCPW@G9'-CP]O.)/_?C%A"+X<#7*%3WNS2O6 MI1.NAP#>TG#E1/:7+BDO!KM?OJTQP MPU# @2GEB">KX47MVB2\S^K6'C@S9,@S>@W6B/"H=: ME722D_@D^6J3GYB'E..HUK$X?V9QOJKC_G?%V:O;5'^>ND\I-:UN$(,I72+R M 11G+A)GGDR*%!9G+,Y8G#_"S?Z[XISW^2(H,F:1;%4[R\JT-I@O!23.XEX[ MLTGNU5+26)RQ.'\K<;ZJ4_QWQ;E%^MFJ:'>JBN^6]9JMMUJJ(4-Q1DXSDF>. M3XJ7[+@=S\-X):IR9$\>"A\]%';Z>2[9AU;GEAO9=;-0X,8];&K(U9 M&[,V9FW,VIBU+\3:G^D.;]@*;0$L3S/3 M8;7=A_^$UBG]F?M$9GKZC[\(&GPW 26N@Y MZ=]NQVHQ-2>:BC$;4]M1+S<(?-2B#/KH/+3@KYE+%C.YP%%C# ^?S+F_.CP, M5#VGDR5)5!;*_53:[-QVP$PA/$ 'GX.V@/A>\'"#;< X*(D.3Q7=/OAB/8S/@\\8>KPT.;E B"'X@= MDAB)#:)DN\ K(C,#Q2!X*BF2KX49/]\)?_V-G44O)_RW*[/X\4APX[7&"!;B M&IQXQ/]AI/*-,%&CYJG5Q*:&:LFHKDTEMR5K.]0EG?[QBQ&3W#5K7GU+DP&C M1FQ18U^( /,WYN\OR=_?T)=^IU9<]BS7F#8&2V5;J(@!(#*K 3N%6A'ZU@R7 MY/C7SN\P:F#4^$*H<:(5/_GY=/2*/RE,%((*&..P$0X;Q;J T9Y/3ZY6GU%P M2HVD6@MKVU9JM+NLZ]M9.IN5AQ2YKV$DT$R2I%Z[58TCR!@*,!3$M?C1'T!! MQO%ZW8#-$O-M0[B?YXCMJ-8-H2"J?\0S$ XX?"B-H0!#P6,M3$&8=GQOM_#8%ON I#NYB<)GR-*4V^1SKC=% L\A@:=?ZSB !1X+/!;X M-PC\>QW\:PB\+G1;X\I8I-56>680+8<=+(U0PXM(X'FB:CD62KRV?&Y?FZJ#(!$GCDK)-W[.6;"L4L1+6/;%S9=X]A?ZV/ MDOT8+CU6<' +#W_/]&< 8;&5_'YQT[R?KQ9B;\&(W5(=R$.*OKZ/'S-@B%$( M_^8"@[$B5ECQH<&!E[%BO5@M9RWB/DVV/(&EN9$TWN5"K+AZ> !C!<:*^"T] M5EAQB[C"RU@A37M=->AGO?F6U.9I4^I:+11*I*\?69Y8QD[]?KXJB!L&(?E'@MI3 ,2OP[O-3SZS"LZB\@#?0S MOX^-]:__PG\.)-5-H#F(K69[>APY!)'AP%3D/Z_"!SJ I'$.C$"S!ZDX,@&J M_[4\S#K\]W__Y_'L'_BF/G1LF9A@L=/.N3K*2!&#M#FA#:!;_ZI MF8&V=??+%*2[8^CNYU$>T#XDH%@QW#\3CWY&^W&RF0MM0SS:LKT8$2:8>#_W M7SM\%HK \4/;-1!5?SK U-"=+/3T)\\-*>/9RY\TA43E/POXZWYA+'4G<%>B MU3.X8AXH\U\M,7.02/VC74L_P_CH(>AGR'M06,SHL4$TW_U'/WZU$P5P#:KT=D?XE9GV[UN1W4CE%^0JFN7,5QU9KGKVM5NVEI_.F1. MGUF<#MI]:UZR%+IA+@I;<:Y2*322>3[2R.KLUEH2O+HBI4Z.&60KRU$ 1YZ\ MO4<[B]5]Q2J26T4GNBVB,] F#3A2>#[R7LBG)L*<'Y"EKKUD^1H[E>0I MCTQ-I/:]+,B&DI;U9L]ME[NSG@Q'GKS=-#8Y;S&['Y+==8]JJIO5H+I$S>O( MYR-)I:YD2YW-1*4W^6$NM6 VBV4#M;G;CX28AT#?L/P0[*/OC8:F/^"$HF&/ MH?3OY'Z_']#=_'2(AJ)OOO MBTZ7Y=)NN"9;A#Q@2].4I^D/W_KWLZ]=%"4- M"QI(WD^&?R**STVJI[A-(:![HY7U$5-]TDXDH5DO%1M)@(UN^F/XX<2Q%PEO M!A)03>J^&5'CT,WOAQ-J.QW( LW(&TO MEKX7OK,V>6Y)M.&T4B;%-;NN#GX8?',T,3V:M$I!ST2*D\5<*/C-N] M!CZU(F"[QHPMU M)[Z:R8SI.0 D*O /,S>A6"BJ\M]_CRYSM/8ZGMY@)QXWWGVQO_1EF("+V=)?98*6 ML7F-!3!$7 $B;EBQ[,+<4_0M$,D10R8/ O4Y(.3U8\8_Y:V;L!+WK5@)0]%E MPIM?AV70J>"^+.W<9X%M<@7#,PG MEJ1XM"2?K1H;3SC4\Y=O:?X8KF;\K^\)6+?RS[X B[P+.F)VNT!^DM7EOC'; M['(NUQ?(M+]D,Q+U:3<6^D? &*Q["2\]O:FQQ2*?]F J6\@/3SSMS$ MH(;_G[TO[5'<2?)^/])^!]2[(\U(4.O;IG>>EHPQ]PWF>H.,;6SC"WQ@S*=_ M,FVHH@JZJKL:**K:N_J/*#JQ,R,C?A$9&<>PT_00LRB,EH%8LE5C.&'4&0GC MJG$D2V-7JNCZQ<7F_.I2L;E55Z!KBXWJU57_8_QWDTSS]$ONCI5Q^XLA-MN#6\W[_3!]3PA9CF6L7*A7> M6,_+2&E3LFV1/IO@5^J3@_) C"BA//)*7'F*JRT')O@1+T<:D5#"M5)CA-2) MR1:M5\;,% O/)?CYO2U!!^IVA$2+VJ2>FRVP,0E'GCPS0"?T>JP4*:,?+<7Y M9("L^D+W7(*?KM1C8QR MWZU5B^&Y9#PD7]'R#EWTA?ZXJ?,EL5YK4X)P=!5T<4004*P=N9TI-WQ"'4I,6#9\W[%GPN]SG+!SO*G M(UL2CC-C,5_G]:)!#.O2U"MJ(1AY2OFV' 3YL9,WV@M]L1OB16ZY@0T-#U2Z M%XT=6IKW(FW1O5*^UXE+Z87] M T5VK^N)0P!6T@[N<2U9F+5WLYS#Q]?"W?%TS_?ZU:6[6.W6EI\F[MT^<8_&'\A7'?]I1/)'1?#C>+HO=[@O M2)KRX+2F.W>F^I#AV3ZE(;]IA7R- !7MW] 'V@**?*?K@>HD$ M;RBZ>R/$S_.4YG\]DQ0528&-]_:,@EXB32!%DE]BDB\5='FIH-UK0\M]Q>RF MO/3K ;PI^ORE*NKR@;8W 9E/E0;PUAGY;R3)6\?3STN3]R'JG<7[],0P8XD M6731O$18<2("=[;("Y4F_Z!N6%>*5X*UQV=-0UU5^IR)Z-X8LPMA36_ )N'' M%XNL-VLOCFX2F;$^"=Q2OX]PLCB<:WRGW_+?W;_\\9X1,&+SP(=G8HUR)-J0 MA1YM\/T*-FQLQ48A6,/+?^S;#SJ+(E061UYK4?YG6N[.^/DC6A*D8OT5Q1K% M9O@^!''+;Y6H):_FO,[IM0V-2$NWJ5Y;KE>(%,BE7ADSJ&:M85/-8LLL["ML M$UD& [*-OM;#[/,=:T:.:V1T.[-R'4GQ+J=SOT34\(W,Q;N0O:NK5,AI5;N3 M\-D9V9LBR*+5WAH+85UHS;N=EKD<;F'\+M2I))&EZ*MT^;FO<^-?-;(KINU9ARN]:S^7H1-4:]M5@UNF&2F8)3^2Q-O9::\B5.J"7=UCU-D3.J MX\A7/:)^H/OWYO)[A\N_"Y&_NE(^L',9GG!QK$-TJ[U_<)F[;'; M7 CF!91RGD*R-'V5-IWI,3>%AA0:/M@:> L;M*8R9I'%C!5R8M.R>Z61V(Y8 M@ WPL(RB68IX,^/N4QV5GQ(AY@J@II(18;7W-^3/A)#BKZ=MS6S>HU:1!=)AN!<>@< *-268IA,F2V!<^05/Q M*]B;:CF) MEI03&NR,@0J:0*BS;NY_IT?J]$B= L.5@>'Z=L'KR- FHGYYZ^2'1E_P.WZ3 MJ)86> B0 5@'&)[/8LQIO;1_?^8#]<#Q1?-R0OW1E9QN%1SRT>N\"R/^ZEJ\ MI9PK,C6R+476Z@,S>RK67^IL M?EZN^5X/J[K1"#?*K:D34OZ$;".PHE%\,H=WVQC^9N#7EZP?=R<+2:O'W7?U MN$MC[7LU3IPJ?U000#(5T848K+W8!AR^Y!H5 7Z:)841!Q7R"*(PF/1YFO]_ M_>-9.8/'DQJL^N2XWP_*X&A9^S(*6*P75"675$L0%^#-WT4S%"/O8/'G'Q[U MZ?='?0+ID $Z""?_F3GZ#.EQ0DQ84>J(9,^*2NU_]KRNU.'+-ZHV['?&=U;? M,?0AA@3PYWYA!/I DU?:JQ>Z'7_:F?^(&NF_!VWNK'3#SP =@?XQGV7N M[+\"QYNX=I>SR'!.7(3+>V14\5>8]3FISU'PLEBC(\T"N%1&N@\[E]JH0 MS)OAN8J-U&+7K-F(NA.P?*W'#OMJM,B?K=@XX^KL7,P30R/">]1VY7J5]5@] M5[%Q047T/-?(M7BLOYO.=KRHE SV;,7&^6HVI'NEDM$. W$B%':[J'>V8B,R MK<\' 4U4A=Q W7)5I5H9R>&YBHW5E2U[XWDQSX\<=5K$NI,U7NB>J]C8\PFL MQ#"$:V!.KS&86 9+5,-S%1M'"D\@!;L[%T0IJN?GN_EZ[(9)&/CSD95NQR?[ M3,WB^YV04YDB/\Q+W7.U'6=TL3,WA7R)[R\K%4EG*8U>=,_5=C16 MQNOQ"-:@/%/;D6^KLT*?7:Z%NE7;YC1,9HHLX"7TS.L#"D?FDIXSRN2.E49- MN;7TNM"&.ZU7&=3[^9JHFHB"W\#ILM.^)&\L[R?;73TN4F7C:%:- EYN2@*Q;CJJ(G%/4X=,QBHQ;. M6T2D^AHG]]8+]AS?VYB \6K#*R#K,=ENY0=EP>;81R>X^9JO\ (@5^O\U1%6M/;7IT9-<]6*BT#:%:XOL'PU!)M]@3=,%HU M&"5RBDVMW4B7JHZ#1&$0;&H^DJ^N8*S9C6J%=EQG!8YN4<<4;9^U97X=Z"OH MK'NM=J@J:KZN]^<3A$)@6.D@PM"2Q-L+Y+PB1[LL=[@OR M@*9 =C_51]\RQ#YOM9W+5.U"KTV?3U-]]"U-=V^4N&7Y4?0!_52TN4KYT11* M?@5*OE3)R$N5'[TZMGRY^J,)XGPI9OK#^J,I_'PM2^;R]4=O@S*?J]KF&\?D MOY$D;YU0/R]-W@>I=Y:1TA!M^3*<_V4+%)(?L[*["$]]NC[<7Q#.?GI!6(@& MT4IAM[KW.!8R5S,^<Z>*F]:OB8C_0'U3&RH%=K+@S?&]SZTTG\+!&5$;N[ M* RK-:3>]B)Z721,)FYSBGW[064Q!,D" ^\Z7<:I^Q/ZCPAMAYKQSLAP(7Q M/P<^[&,=/O.1(.F3KKC@7+;P0Q%6)+'EC 9@#?YQ,37VEXGF6Y>A?[TZTUU+ MGAUXK[]G/3"VLF>\O8JKX NWW4&5@+>BFFOEK9[9-;HW4W$=U>WMR@O!YC$2 M[SE\NR(51FQ23A3-8C3\[[7Z1%_E(/@WGO2^TE'N+H#B*"WK"DBQ6@GJ;H:) M,Z2_GE,TI1*;;?CN3*_?1HH=0]2QV71=,2QT/LW/BLYT@K-)55,TBV)HEB#) M"U9ENQMB :@,/E^FOND='H4O65$A/0^_]SS\R'-@7&G/<7M( MP*4.XXTJ14YH<]8RE)?LW$+>G=3]^\:#NR@&1+_=0G*=-M=A"LT=N6&3LJ=H MELJ369K&TO/QWW4^OB1H?))#\CT9$[^ &F5YVT$WX_&#O4 M6$]4,M*FE"98CMKJKMO+_%)6DX*H:):D\2S)7+(DZL=[(!J*Z"F:8\H9W5JY MSD:QDCS'+^!YN+2)\%>(]A_ZQP_<5#UBIKUHCV4VXM94OX64R7QC-H@6TFYR MNS."J@7DO";/*:/-RFO=%%=C-+\OJXI15!9AKF@._(VZ_ZN(?NHB^'/99W?Z MF.6:9=ZP*N52T76EG.3?SI.H1F5R@UDKR]"Y:+[S36%;,-FD:BM&YK,H\5H/ MA"_A'6B*DJ;;BOLB&S-U#Z3N@>N9 X],=SSNX!_H2)I)JE-:P%BK9+;IE4#C MMX,$>R2,^.TZ& G82K>=S**90D4@L(5+Q?N3%Q2_T#J'[@?2^(U MV"B6=V)K5F/&AM+76I6\MNTPS.U@0\M7-Y*RV*)&VR0X#2DTUXK [BN\9C$4 MR:+,)>N_?[R#H*1O%3DC>I[B>QG=SEVRS2AR4AWRZY9M)N]@K7)0K-\R01W)=MX%HPGPE MH/NJLA1*9VGJBL%X?Z7E\)? !IK"QI\',+R"&[00TFQW.Q*--D\N/ /E6KAX MNS!>ISNWFI6EA0KKEMLIFLUAI1%VDZJU% 4O*2_9K/PN/1,?@B"IQ^*KXL2U MRLK_MF@7QI4E>+C?$Z+\J-]%9P7?=,(9BL0A"%B6H)$L@I\VA$A]#*F/(?4Q M?%R=^=\6='TGR!3&C'JZ9I'FRPLLPST.YZEB3PX]9]&'5^B$UQZ M[/_JN'#OQ_Y;X<+5M/P5@6$BCB=8.(CF?"2.=O0V1+?M7A<" PF!@0#V (Z_ MVB+R2YSK+]<;[B>G]0_OM_1QJ?H?OO2[. +<_*A_OO-4G4 <:EY=!E_8L"_YLB6Z[JP5#=6!7D*:B((,L5*YKX]WF^ZW'RB%P<39$Y:, MZ75M"F''%,)F51.WD/PTY 1EU)CF,#Q:Y:;OOJ/[70IMU**W(W/>$&E7ACI2 MEHMF,Q\""A%8ED9/[7@XDXRO*> _5U$R%EBGYF44P*UR!I;?S0#[/P-W/B8E M7& VXRK>2I%@/6HSREZ7Q+_72^4V).9VLD#NFL3,*$_44C3HJFAQKH+#$IH' MQZ53'\I-*/2""?O8H%)O>Z[S8Q?Y="XDB4%T@%9XW((+J6 MVZUJ&QN(*4;36?),Q-DC$WKZ]O=9\.%CL/H_^O.B=O#S=QV<(G5I7]@MPTH MJI.Z[&#-'Z13GNG"8]MK$?\?&-&V,R5E[@:B&V6PA-3[&LIP3V ]!=&.DB_B M,IA@7W3;=S(BV ;=]GS1C],GXNT!?&/+\5]@ /PYX)R-[@2>"967#=XL@9][ M@&7BX:O E301*#E1!?"3*#7=US+MQYY0V4S#EQ\ S&1*IN/JLI@Q=0L6TLRL M1->W%=?3]%5&CIW[0!T"9=F"Z1QSQ!U2/ M7RW#?X/-G@(+R 283S)'\#A7$+B?"L)^ N )OW^KP'P 1#_;)F[OZBX C2JXR MRZURY7:-G=>0/EC,=)S#UD0_/&>C8O#_(0;G"W8X:0Y[4]X*6ZN^S/6&/O+, M$$!_Q\$%J-Q>0*$Y"RAEW%.;0ULJ\OW1L,_D%:S5(%68"O=PKE+&+U(H ]<> M[XP)>7&_77M^CS%)?&+0%3!>X^WXY<=?#?(?]P! _N-GO]DH3=C:UC!&18]! M;;_A>M;[G0IB%&=$#9P8PUSEIULS+5$YBE7#$H)1I4VD42NF((6OE_7[10(^ M'&@]B'%D+X'0Z!632<42#R05P$&\78L@KB@B*T M.(F)##8,X&FP .\.7'!L MC%6'(H)-!9L^]Q+SQ5DLX.;&1U;(!J(D.9;E0%#).($+A!TP"F ",!+,(=X$ M+T$[&YQ_]54LLF#ZH:_=2!G]W\\:UL5-\[)@QLE60[:;1QE5<51P#@?0!Y:O MPB]U#])NX9BF$WHW:6W7<&RU 13V/K2M$)4?)P6EWXO;UYZVN2/7:Z,EUD+N+2/L\_9SN$QC&.2!?I5=[ZTQS/5: MW+VEY^Z-$K=LY2*/D5)OE27+NZMCRY5K>5^F#,_] M)(C8V8>-[2X^]=62\Y\8/2:(CGNX'13.NCB'!2 LW D^?\42U3$TW5L.H MX],(8RPLBJA;A=#GQ KF1%&[SD=#?\LWU4:U-6*3;G9,EL28+',F%O%B"O'. MN/\C(NA3#/AJ&' 4^_[+(# IK]>]=9EO"7V1B/!IGQCSY*V"Y#6B6;?+;6F M6*T9Z2FH,\,-%8! 4EN/8+(X\EJYC,]W7*K"\X$=!X)<*%7N;TF1W0OV'6?( MWIFFC^M@/>.W?0<BHJ%MC"!!&XY:"CZ"A69":WTOL5Q>V'JK4H"12]VVZJ M/:[;*(3[%G]YV+;K*D7Y[^P8?$,5GV+#7X0-OVP!_!0M2;TB:.&^JQ^)9DF$N+@U<#D7;_\,S2#_LYL7JNFY1!C6OJVK2 MQN^JJ?6I8R %A_M<^1V P[VDU:\=K%#FNMN Q\K!E%(7V_44#Y-V?6E6_14S M(&'F2'S@":8LH9)_ ]758.F7G/;BKB9#S=\V':EPTS?$PSB@HUPR)]>$&/$

    Z8P2+V,<_^L?SV(Y'_$)YKLX[O<#"!TM:Q]# MBL5XI"JY)%147( W?Q?-4(R\@PD,,.]P;OK^B&-XO/7( T[^,W/T&=+CA)@P ME^:(9,_2:?8_>YY1<_CRC9#5_<[XSNH[AC[$K G^W"^,0!]H\DI[]4("\*>= M^8^8T5R(B/\]:'-G;RSA9\![ /G,9[>6^Z^ <1]G+0$NYI+T(^]1I,7CT-:? M,>MS4I^C(.!]B-VZ'21I:_O\+U74?%WOSR<(A;@,M\!F5<9C9W H^BT1F>.? MP:7N\9;M-+B%,LUMC+);]CS<79562!?FL'U+9OTXXJ M;E"'(XF7(SO3$4\Z4[F!Z%*W7<'L^@H;JC/L])G.1([Z3A\I(]1\UI8MLJ"P M Q:,/'FF.ABVAG11)G@L$ TB:FC!NL3.\#//Y(@:LC:9#B_6V.Y$[N ]JM>= M$3/DY<@^7P]P8]&S$"LG6T5FP1C;70@K5KP<:>%\Y(5F?<8'ZWFAPU5PE SA M,T_F61K0H[5FBKA0)[NFV8Q\9$? OO4G;^>)24CQPK MY/*S=F-%#:0!#=M9 MGXSLA=E2N-'DLKT\;^5*^I9C=&7,Z MJKPE(P&&_A4=W9F355!6E!-$*F M:N3"BID;-3MCE@O/\7UEL^GE')2K\+J"#PQNH9$-'7+SR3/KECT)NI6IC'!* M3W(76R*/=<[R/1-:081QU=LNZU[G+-\K(TL2(VG=0**HU^.L37LE MA.PYOJ?X]KA4[S=V?'^86XYJJX)KL>$Y;BX6.4ZL!5(DZ'V$J?071=-'NV#D MR3/70!L)N%L;CCP\\\K) MN%4;V-*J#B ]R<8MZIYD.E[@GLG K3'>:C'2FX(1K1&_4;3&4[H;7BD#]R1B MYN=F'76($FA;,9FYUH,D:9DO^(&1A[R:7+6'2;-H0\$D^[+'>X+^L"@Z<;U79W!MMKI*5G2+)+R#)E\JCO5Q2]I6AY \Z68Z0^3 MLE/T^5)VS#5RLC\5R-PJ[.RZ=LMGI,E;!]1/3)3W@>J=16=VQ#B*(W.X/M/M M3. I%Y.&.UOM1=H7)<[COS,_\^E^<7^#.'OEWK 0-<6EXW*FZ'E/*1M[CJO: M@J?L,S9&?,ZI1ZVARY=S?%\;MC'/7[\[6ON5&?VL&[(Q=0<#52^B"%>-$!P? MU+#9;I_*C6-HEJ%?R]KX0RUZ9S+R(?':7Q8JZ#25&[LH5O2(<&2L9VIHC/*B M0<]RK;%2?W?GJ7=@Q0*9($;1GJT-;%<>.#!:B!6[2<9W@A6OY79\OI/82PMA M$< @:#%I_J/(G\9PODD:YYLWRU]&O"]G"90@0[$'?MJ+>22NMKUE3BDB[5E; MEU;(K+H:OKNWUSO$?%7NE7V7M:=\O=4>.<8T*BY&;)+E32-9E+JB1? WJO^O M(OXW/NY^ >U^5OXKW6)M6&%K.(*)?K,1-9J"5[BE_*,AMZZ-R& ML!$FW221^TWY_ZJN@97K2(IWH0)N]V?S7]H,^#L-_TOZ"#H)P^U! 6OMUD7' MPT:&@EBC@A*T5GTU5I/J9\@ MQ8S467!]9\%ST"A4N*)<]DW)\$D M5U%RW23A&\7P+$I^+8?!OB8/]!+L6S#"5J_.P@]A+O25+AJ^"@2DWH-?%?N*R_9[)C?Z'L-NAJL3Q#C%QQ*3!=?[-<"+<4?\=#/93E[3:?X_(N6;0Y M0FZQ,SJN!D-C60R]HLWP-QH(7P4*4D_"I;& 0#9K?]-EQT;?5NV2S!)1_Z98 M8([Q^F"\- 5$S(FDHH8MV?"[ O(7\&"+^%5^&7K(/4UI+Z&#[0Y9Q95I8K<&O9OB1_>#F>KE7 4"<%NQQ66XU!KL>R,B?T/6:!-L^BU M*LNE'HB_ 4E2#\35S)#G4#+'IKOJ8#4U#8P4=:9,R1+OWA)*ZJLF.1W5VC8O MVCE&G"A%5>RI $J@5R)+,/DLCKU9ANY3^24&KB@K8(!Q09OB;RA-?3 PTMK4 M?V9M''[SQ(=[+&C)&\=:[I"%41_)#7&V* RDX)9WG75V4*1:HW[+*#L;IX&U MIU.*AZ6R@%F!T5DJ3Z<>BHL:$'\);'QPK\M[@8T_-"U^BAL:BN'(M$'EA;:& M>4BK14AC[]UE;-^!&[NHVY:B8KXMM"UFO6XU^PMDH@+<('\!-[Z$-R,]@J3. MC+LO7_\.R;;"G,FL26PH!-5U8\HVY]C"96Q0M!50RCG<37Z/$)D">SR6OQCF#AI3\-*4F % MI@BKO.^S&.(ZFJEU_\6< B>+S_SKJZCM(QYFCUCXC(#WYZ&[:X<3SBB//,_" M"5K8TBJL;0W##Q@R2U"G/6K_G9[N4_G_]*?[6\G_1^CS7P> 1:'!-4;3(.(Q MD>7'TJ9:][9Q<7L8BH T*(MDO-I-OM'<9W(41A<7?X8-)1MSLKAHCXR(]0^2R!Y],&=)=O M0'=LJ664[4JQ/>5<"Q O$XI>YG\NS(>/_4*(L_U")*HZZ?:L$8]$4U,,YY4! M&57>'9!RO-3VXB5CON3*ENBZLVFE6!GTE)$G**@YI-:AL5)<%; DF<5PZH0? MX^YYUZ81=DPC;%8U<0O)3T-.4$:-:0[#HU5N^NZ+^G?0B*]095KHUQ$$DWF_ MLQUVUYB1T C/GZIU.)>XY8RON8J2LO8"U),1JX9A >)K:RIK(F5S1$K-8MR1VI1,T3 M&E'$J?)X9$1/W_X^&S[VP:0NIF[>08N@',NWP<8\=/A[(M,''/>X+DK:0NN;&_*;;>8]?=^9^ZC^S M=J"E<.@5D<'1;%+S_P(>)_+^'.X7<2@A:2S832^53\VV7FSB AL&]@>%QX ) M,&'/A8MMJ"UF8J(OU,NX)'O-M50MP<[9V$^/3>^^87K35+D^=X-](2XFN5]$ M3%.9O)%,ML"D!J%B;I1FK%K.B.,\6I#T$*VH!A4-:*&!%+!U";:GAVFB")(E MB0L6K[M/U0NVB4R5:ZI<[UB0H2X=A,X9^84S$MP6,>)'U6YS2HMH@174&0[E M-T]G\5>KT7]*=4JEZC15IQ\GA?!ZY(P<;MU-D5<[/>;" ;&*[[\^&J.ZX.U:2& M.XIF\P3YU?0HD^K15(]^G!B"L6?$<.V7';EG+W)&F2XI;;+ASOO7YOUY9GHI"E\Y<*(DZNY0- .E MJ'N2Z7B!JWBGD1!]=-J7#)L0C0@QZQW'H:0Z#"V[2B1$_.=QB]B?QRS2AV[O M25U&N)A,O)I,4Q'A6BQ8<_MCXBD'FI)9P EMX(0\&'XCB9Z64=:!#KZ"$\MF M1$D"=KD/XVXD!7P-% GXUE;\.$KG\5]78A1';HBKE>ML@3KT8=2< AXNB:X; MP;L[T4J&RF#QOK/_5T\#FA!\E3#*C2*53@)+X[4_#Z4*E8RLRQG;\3.:N $+ MLZ,D7BCCN!E3%V/!T,&,O&"^5"0?+@F0*'!=N-8GLF:LHWU^R*3J*YUJ.M6; MZ-,D&N(HYD,R@8T-#S[:"VV'P_=>(^CCIWV5,>)P;GL$(91\&:6]>J$>\*>=^8^8T5QHS_SWH,V=-:+@9X#HX&!H/C,.]E\! M51LK1Z!DN"0^T7MD5/%7F/4YJ<]14(P-H1F19Q PB)C-<9&9$3*&S1@DC\QP M'"'E/(9+%$Y^2]XJ'HZ7+K%1K-YV81N89GAA@UKF:N!X"6RVER/;C65)J:^) MAI%KMZNC,9H?6')WAIV.%+H+=2"+K0D_H@:C""L.>_(DG.&G(W$2'+C7T>=VH46L> M4[S.&-WY7*FX;UWTXNWUJ#0(A4I!X#:3=ELOV?:T 8N4G[S=ZEEEM]S+^X9B MYK=<3W'"MA,FK0V>CZ3YJ;PLK8L;)%!\'^.GNPE1#\'$3YZ9P[>Z0@^-T%!: MTVVO/T$X=KHO)T?5[!5I>8-\FI2"?'%O@M#W)J6"KC1CP9^ MG5=;+)6/"RN-@2N*=6) MID$$(\!W*';Z5*;K+NH+.F@;@8&RNVX7RQ=\,!0_0].&3NNVWPH1414X;K6A MC2!D9RAQ.A1EAEU,Z"B1@;G88)6O*K,U'<*A)W.5"7]5[-5EB0='%FZ.,F5G M&\9#GQ-K1F"(1*#R?(:1!#HC9(@9/QDRK9H[@S$$H4R M6ZP:U+1'Y*9GA7HV:07]\CR8&U:IS!2)-H,MIN$YH28+@EO09J["!VN_D2_Y M^9V(J^>$6E+YE1)U"H$P\IAE<6[@4GE\5JBKU'R^DB(D)U!]9A>YU9ZPJ77/ M"359K=4LI-.E!+W)M^I.7I];[?"<4!M:T!BOO5(9"33>"W:!PM.$>DZHQ^Q M,=G)!#$"$[7P/!\ X6;/";4O3ZJ]R"SE^%&H5EJT.@QK9GA.J)TEVA[H4P,3 ML XB=XMX<Q(",\)M5C820C'N .D/I>VO"?F,&-[5JC1V6:$6YM\P'-JO4USI7XXY+KG MA%HOH)-A;[+.(2+/"B5BO35:?/><4,N4MVPK8<$UZD:CH32$U8COL&>%.JHN M!^IT):UX):?M9G;-*4)F.B?4N$'2=7F4&Q@YK3@.!HR_6N:[9X6ZMI1Z:C]R M<82JCI9XVZ<1I,^>%6HKTG)15R_O>&6],\NF,RQ/RMVS0FUVS,*V85:FO!B: M)0D?MSG#/2_4FE;E \VM$4:[3SN;0H"*!/),J*_L+N$<:^4JFF)[P#*HVI)C M*2W'/Y,[4D2BQ3#TNS0_J@X,C1)\PJAV/]YCPCSWF!R7FVK[FN)FGJTPDRSQ M9JTIMNFK;47AQM1+P/9QBMX7C>3S*5$']41"J17N'K:[.LNKJO+#,I7H=%_N<%^P!RK=EZOMR^^&B;P%7Q]&!.:+>Y.5? M@2T&,EB,?!$;[,S"=Y_$ ML7_3'_NNDC2,/[8C:,](W^@VQVN^7A8KC=YD MU.@1[R_\_FM1-BW%;R\&XO9,MG '+;4=O:4-D/Z$="=Y)+#0TJ%C&95%+]F. M,#T1?XW3PUUIHHNW&;MI5X*?2>WC-15X$F3+IVL'5EX&G@_S P]2W4GJH;.^ M[^KS( XT&S@=T05#@, #*OZ_;[DSDL\RTDIJ+/MS(](B0>WJZU$.!K_&=>NH M2W8INSFT.] MG$\4C?YYTK(_7Y:&IV__+$?C$_%1FM601FFG60U_P;ZD60UI5L-G"SK]/$%R M:59#RB5O$!G>;X]ZB%(CN=S+;W!=]!2*);5CTMX M\+A+0\(#2F<1%$LS'CZ]!OM"!^23M5TO$!D]&XC< MQP:]>@%K28C5PC&!\#2YUWUWG\,/S'C8Z)&",_P:%<2R[)0*^&(;*=U]Q@.* M9//D:6_$-.LA=4/\16Z(+P8VU\AZV#5$5"TOFCHOVDYK49?G+73=3;,>4B?. M7^7$2;L$WTV.Q%,KFV%?YC=;9R10LK*KSEFF2\GAN38^FF\2FERJ=X5ZNQ0)HH7IN9"?5"?WBG7K4K'F!#"J!#-ZOA@Y$IM MV,+LY.V*H5=R?-$J"%:/Z9?&H44(FFU_PZXCI2WQ_*G:WVTZ]9"S@ MVT_F.2)J[9*_:2Z%W&P8[BBOCN\*\)FG9-H,._GZ )VN>)V=-/E=US MS9:X7*V$>R/$%*)-M53">XRDGWQUJ\^F\.&#/-3'2@LVT M4==ISU@SI=Z"[LDU?0V;&)T0-%QOHO4,[4\-:LZ%-%_T\I6X+]JI)'4J3+M% M8K00E9LK9KEK"5TL;J%TF.B5N[,\M41N+^ )#!R_XH?VE-BAPCF>[_4U8/<4 M1$^1.V(4=Z$][#I\ K#+_:2+,$Q0:Z^4A']NW0:(MU:F$RG@-.]N=$EYXJYC$K-@ M-8E]WE[T'A>:&.)H: M]*9=^@&I=$BZ+W>X+_1#/DVEN\-]01\H(MV7>]R7%,?N<5]2'+O/?4EQ[%[W M)<6Q>]R7_ .9;LO];4L*8_>Z+RF,W>.^I.;8/55H>=,K]JD3H1\3Z,EW)]#G M'ZCKTN?"";\#S5643-.)*[KQ<46WYXF_5U-T%Z'$N]=]N"-Y^;\GB_]SGL#0 M!Y3Y3#S1U[>O<40*&=> C*]3<^-,,-5G@93/S4E[H/F+."F%HHN6_V$>\OFO MQ#])(N[G@)X;6S,ICSSQ");RR(7+B"$QSGXI)DF!) 62WP22O77RPCV%_,1; M\XRJZ!-97RP[M7M2K\W/R[3=+RQ];@[Y=#Z<2Q7RVT/'W21[)J^ P;,P_-=5 M-HH=*!?A?^3^EGF)S*SD_N3>JC4\4"?96%=N0O4BWGL?T3U+JXLY$Y2.J M&:6(\:41XT4"]Y\AQM*S6Y4N61XBP6"CX#.Q7I7<][?'?2]B2*ZAJKN-K" C M&QUB2R;(S]HL0 SRVP\ZFR?)%#!2P'A7I-E?C!?G,\K^#"^0>6.Z;1AS1>B+ M.)5KPL#$6I6>C"@2&96G)#8?T73=A[FRS+VK$_!ED8$RQ4\4:BLYS';FC**R?FRQN#QF[PA+5&NZHA"B52; ,REL, M#:&)@:+??C!T%J=/Z\A\YAO=LF(KKFC&K2]%V=)MW?/=.)3P8@CP)\G;"SW*%$:;7A7I\\$V:''>A!!'[R\K]6ZAKV!U MAQ_-*BV$:WA\26N+A+P)PIZ=L+?:!2DD/!9(>$/=/ZO08(6 MZ:NY[?LCGJOGMX4&B_>9/RA,^UY(,!3!\RN5.6.,R-I@I?0W_#: D$#&-2DI MA$@1(46$WTM:^UJ \.=^@U\#!"N45QA9Z'4,/2\[6JFJE"SJ]K['KESI&42O M8R&Z%>"N*%!$^*2+\73;"G_L%?O'8,"2QA=E> MKOBV$N8\H=7@U?7M;00*'TL3RV8;?-M=&;BOV.34@O7UH*\ 0Z"SX#4KX4O$ M,L0NG-A[ $89B@]>_E5=AQ<&A;_8?_CG[H6^8IJ / GF@>V>PX1&Z+<6PYM MUC3*/7;9%89]"]O=WFH8%,==/,#0MM$>;YH+:E1;;R>PL"8L;4_ELX"CTAN( MO^L&(H61^W%)O DC%%EI"/R@@"']\;32ZQ8CKU:X/8P(C9)-$YR\091N-._, M=LUUR(0 1L@X5 H[TR$C19$41=+PAUNX,=X$$7Y$3(?^%)'Y2&9UB9E&W(*X M_7'%\LN30K%3XY'1$EU:MPL06;A\AX59&9EOD_<#H:YZ0I^PI)0?0%H%>#S2?SU+T M:W&8GR]$HJ=XBNA*6NSED)6-8CHKN(N7 X6_H>_6'B'NN,G6Y_* '+@2X$7Q MB2>?(T:P&*XV6ZYI\5R(N94*-6M7K-L;'BR.<_6NYD[YWM&*$OZHVQNO/+WO3VWA"/ MFR.!VLBOC,@:33:X;*TW;8@G), 3)(OFT11/4CQYEQ\DA9,+.45^!4[:3C4O MBVVC9K2M7;]A2*N^*]S>/"$[OL@RJZ''*WA8+X]WU5UE#N&$^?8CCV09[(IN MD11.OBBW;1Y/7=(;>ZJ&X07)5 MH2;)]'3'K+L 3Z"#A,YG\_CE_2-WXU=,VID/'%\TK^DT_?!>O1^68_;A*[\7 M3#GO0I&HZJ3;LT8\$DU-,9Q7!F14N?T1I;=KT+YJJAXO=BH\3I#FU.K#IJ+8 MMQ\DQ60)\HKQXW<#!G=WU_+API/"QIW Q@M3I&KB%I*?AIR@C!K3'(9'J]ST M]GLW>B%T5_QMW2/]Q&+9O7O^I>KS?8JJL!RM^PI80&1S)9J#ZR&9"):.)*5UN\/.N*ME>E$BM)7W(TN*>?YM>78&S G18[GZ\6^I.-_A[5C6HX_ M4UP0X<<7[RH[:O*>Y $^WV"O[$>\G\+=%U9U-,LO*EG9A'E,I"X>C M0-I\]]L//(MC5!8C3RN]P#T,;/?QM8#L3_,"?WA^)N[$!O[%=\#(9!W@NP.) M :1@$B*NU_-53Y7X:?A6B=#KA8^8X6*KQ<<"PY#( M3M][R+PFP DDO@# I$W=43,^R01/@BI5^[_G6(5#B+A&-[Z?5F3&B(-%\*@! M4>IEB[W_^L>S5H*/2CXG.:;C?C]H\J-E[6O$8[%25Y5@ MS9VM- X_ ]X#DF<^JS:^_^K;CP'4T9!_.8@.MN\]JC_QQ]&V_XQ9GY/Z' 7% MQ]B,7!-KC^56CJ_OJCV<;% 5'.\"^"&_)6]['(D*^I1A?;;-]_5NB- K,VB- MPQEV.K(G;4;FO!9UC0 IU'+B;#>ND>P,GZ$O1VXKIM7P281&,,7;E$4NQU&M M+AB)OQS)Z4T?1<;-EJ"7\NR:DRJ;D%#!R).W>QT[-QG/O3%?;H[M<9%41QU. MA7ZDER,IJ[2PY0G&"A''"_[0VNF5/AQY\O;AH&T,2"W<&52QM)#,J=V%F:PMCO"MF,NU&%C;Y&1%$RTH:[U^E40L"9LH:YQG\H!*U.D\ M+4OC-_D>SAB*U.WMY %3J19@5/#)V^7!%VNDSBVM!CJSI$!EUZWQN4R\5MC,57KF]'&D' M=*WIXK9@<)2'H@/-':):-XD=>CZRA@T[57:V'2-]+2=:?7S";$3HPC^\'> ] M5+:Z'23J/_[=?&9*V%9<8'7+T.5^$9_X2F%DA3,X%+T66D!K]_%8]Q'&I.Y: M\@SHWEC]VU*BR\]9$'OSP9 GA&\9I"A02&4VG-OSP;C][FN:^S(K21-=%,=D M<\#7BP5R5Z^RZP('3 P:V W4F5C7=QJ5JR=JY^9PBI_+S/Q=CED:EC(H*6W. M&/G2LK>F_(ZS8>_?X*S/.U18[N1HGB*X;4.0"SMN$1N<&/J:P7FSD^E 4P 1 M3=,)@;&4B4_SF15@)6@F );P @L,CR +.(&;4=8!.$YG1$B@#&3@#?P3;$(& MB$;&T[<9RXE[KRIQ[]5G]G+F7QXDN_?O[_'BWLU0/W.[/M_QOJ0I<#3=F/O;&.R!>;7H5+HOJ<"D M&Y,*S-WO"Q 8+)]NS-4VYC=CC=^TQ#YUF\4K8?J5/?F_2Z6;$.4M/+UZE^"? M-P+^!!O^^[TTK[C<+[Z5KZN7>VN+>N0N^Z.VJ"F0IT!^']+_)WR2LD7*%A_( M%I]+=<3N[U1I?#ITN# ;Q-=JS]G@:Z) R@^_Q ]/%ZXI4Z2ZX@VF2!7&I0#B M ^M"7)A7]H$P*7JD'/,[)DCBPXGC>U+6N;+B^5M8YWWJZS;.'AN6!6%)OA MZ/,21.=38!Z#!B'?)9IN'XU8WC0F(VW>S@O4=+.NN+7\J"2_.W[U)P%JKBO: M:EP2J1 ]#>F($?PJGO%>^QXQ32N \SN3Z[?"5:?26/ [(<"Q4KE(*:.JT86- MK;_]P(@L@EZE$4V"RG^"TI%Z6U1>CV;3%K-R^7%;HH8V)S@Z'#86(7% M=V<9WD**TZMJMB<&4A_A=ML!7'TH/GN3/-;2-;(? MPXPG$B@J.LLP%^RI> W#\A$_QB$*T,Y]JIVDA94=AWO)$D,8-RR/"?"0(]P9#WG M98"DVG #,P M<5A]@"*IZ]D.7T5NKNQ2OPS&?0F7Q%Y#*5O%E73 ]?^;Y,A]V?/3"0$R_[HS M0/RY7V(S&-85.=(Y/L#RV,2E[(EBO1\,X?.KGA[O$' MWCB#=2V^ZB C"ET(NC\N-,56;;0KL[!?%*Q.AB"G?H=_IP>E5' ^OR5Q">%I MU(1&NS?$"(/:^,$8[>A\50N)4 0 ,(@.ASZ-+LA_E.ZK& G&#QW4"S>8Q+)6W MRQW74WG[%.49;R%Y@B*BRYW4I 6]LB%H6Q-7%8E-.N?\6M3 W12R/_KEX[CW MU'O[WQ<%2C]5L;K+3Q6Y"=&O7-0P:94Y$+=%W9-,QP.'Y]/2A5:-V]EM>6,( MHUIW*\SX":>,U"N5+CP)TWZA$XY*TZ+(H8!#?+K+)(O)@-4HWFW*7;Z<46E? MM]+77$7) (AYHX)E7/$=EDUUX3^)F97K0+X 2 XK8.K)>GQQ&U=:M;VXY/:E M"_+>M 'B([_MFX@4%%M9Z/[9NK?%@3EKE+29S'.=7E\=XC*]J89Q"R*4R9+, MJ>D34_QJ]+E%SZ;?H8\^4=@NZFT<(Y((HUO:;)9:".B#91$*RZ+TZ55.%I;T MA25[]8UB1@^9-BS NE@D7\1\!I:J9$+1^U7+8@4 8Z;R.&U8PUQ>Z =L2>VS M#LJ0[(6Y#/^=^LV'-3V2LP?6Q26Z"VC]]DI)9O,42Y/#CBAK%=T-CAHUQ@@J MVQT_7I>M[A!2%GTX)2KTNF#Y]VH[/(?ZB'L M'O7053MJ_@[.8D2M,!G.%KJ@-Y5 :-,,38T!6^=Q)DOA9P#A%EKHJ@W ?H[[U,J'N QY8K4PP8<@B\-? D'[(5)P0/-;- M'KZ!?3N\8+X$OX*,JL,,ZI6K^/'$$_/K^7<>9$WP8WC+* :^YKA@2HJWI]=< M.8@*(%/,MV#NCSU"7M(4$D"W#JN*MT66X\]@+3X\M\<3 #(BFO E'\2Y8#L6 M^IZ(@ R!>]A1@ (V##7*]*%UZ3U*^#)P=4_6$[B%*[ @NQW9H<<#O$3G'1X, M^1/R_#'7@J<"J +M9.F+7 'P,NK<&,@J7I@2VV -/ON(P\9V'0#.D/A:UW% M BS^8I>/$.CQL5XL49#7SJ\*+N0@,&=M:B5Y H:@^<3(#.:>L@[ *DXZC[ST M@E[9K]50/$]1]KK"5AN*Z"G>J6=++2/C@;?UFD(NT&=VSPGZZ]%>^P%UH\BL M_\JX?0^FC_>#H<_]8,EJ/TQT-!' 6%R9(=%:3L8Y[$/&A%.+R0M5\!,#@ED$ M"_!-'-B:69DB/!@"S0B8.Q-?X23(M %*U@F\P[_ YC&)MHOA[Q?M'L#JUFQE M$!/+9B95H3Q>E09N#6UOF>[K=R',6)\$;JG?1SA9',XUOM-O^<\,G6JK=-I! M")@[L#JXI]@'+H77)]^3JX?VHKG'\GC7N -ESMK:2I-O(@)797B,5:2A79]K M%2'\]L.QE5/3YE%'/*).KPT@\H/8GK! 3R9!316 MX2S NQXR':!! VAV (K$IWC%M;Q#PZ1D-Y,&24"5@Y,Z()$?9>'((Z,"J!'8 MQ"L3ZV4P[CIMW- DNQ@E'N\)._OY=* (L[;,'T2T$#V_/4SHOB?[GNBE_;[L M;PV?;O7C;F4=L'O1P!5M+UF"5XB._^7IT9"*8+\.=X]"K^6;2]5'RDLQ$)QZ M'\-ZOWTTCD6VF5 6WBOVP)+.RBAG&*P\*8^Z@C[S0#G@C@YDH:O,Q\-#L Z3VH*^%)0X(J6%:VX(#QS,WS2J,L MR'B)D>T?&0HK49>?V/O6%POWRS$Y;#ZNY5M>R:!X=-[5S94\U-Y]Y?'<"-E? M1Y_']T91*G&5H#'BN54-F;I\1"$ZO/& -\[H:0&(ZWJ:SCM)[G?;=KBJ-7'1 MJ1F<,.?T0J\DLX-;;%MKL.+Q=FE.(1B[8W/#L#KJKEAHES%9$CGC^G[N "O] M6K.[CY7AUX/'_VSC(J0^TSK;Z@2)2GB=EHTE(V_?'0;Y&QNGDFBKY^,]S^@+ MZY(3\1/3&\%>BB29I? S7K8/\.Q>AL0Z6QVW2P.=1CAB+1J";-C2YA8D1IIV MR]LP8<.@=J0EC ?L;-.$),;I+(*<:5YZ7C;@27(O%0?W4>;)<_2! A'OUIDJ M*_<'CV-]KE"KY2(4UMC:;JGS8:E'W@(>+:TVEDL%DD+*-+?@=EMZ/JX">"3R M6)8B3DVBX^ZTL8T;F[P/&2%VBSPSB.$?^X-!F/C^(/L DL1NTN3NR@,[!LX3 M>[<,I+8=_[UWQ7K W@:'2A>^K2E&QTY)-)^P%ABI)[N>D6-?7O)B'39G?3Q? MP3DE%O[J9^;[XVP?#V/[>S=;">%R'_\Y<70>^\9^W5\";''(D9_ ,*^%@DZ, MNG5 MRNY=G?#0"3VU&?#F_9:>X:$7W(81D,5-L"JP\9N814-7]P&[0O<@M/HA"X%5 M')R"0#)\<"('!X;XNA9@8_:(AT+=-*&_%IS=X^!8,TH8+6:N2WM*OAP/_IE+ MIQ]($MA'P"Q'S-=>Q/QX%B)9LSQP\U(O,OH]?CDE_(@9A]V?.':.8,%[?%', M&;_75_OS[]*MD6(0@E]%)2=PCR\<*RUE/K#\/,+1/;=1#AU>JG;?Q(JC:JP M*J#X)]H#7BDIXL*'_J)8AN=/&N*L)SWIOW?495 " .#"*'CM1=PI#EUQUV@S M^-.2O!AQB.1_?(3U.B D;51^1[%FO MZOW/GK>K/GSY1BO(_<[XSNH[AC[$[E+PYWYA!/I DU?:JQ>N>_QI9_XC9C07 MXL1_#]K(C/1W*,V[2:Q0Y"#=U>OF-613S7A0D8KW)([ MY#QB]!",I%^.5"AJW*,"92-8H:J[\V#5R"W#&7;Z3'/<*_6EOF?RY55'$W:V M(4R%+AAY\LR:;$X::B_D#'U3]H:EP3:DI]T9?OK,!;ME47?FSXVV4 QXCMP6 MZHH*1A(O1[K%M3GA!62+U(OZV-[D)N,5#I]Y\G;7'Y6JN7Q]@[316B!/N(HX MW83P[1H,"410Z,%A2@6S*;L(E,^A$Z@DR4M.&<["7W5:(O5JL/[>"U< MJ&#DR>LM<8'C0YMJ\9SG=2IV3ZO/.NR,G)V\G3"P28\M4[3!4JLQBH8>4*F1;$>A-C(JQK]XLKE!]9B0BKP M[2?S5-WBK(N)RHP7K6:^'3&-;5N'(T_)U-;I#5*AQX[0+NUZU$9#)SM)!>?U MDY%6@1_.1;FH"2,G+/@+AQ>JY7!&GXYDT+!?#@K%'F)YM.PU"J0Q*71GS.G( M'#TBMMABV4"H/C4>"=JZ.AS#K)23D0%)6$H0B@S2GXE805\V1S2E)HF:+U8T M77:)G&)(_&B,#>M.KF3/9/C,4[[+>WRN@FYM7B<-DM+1\5#:P&>>$%2+S(DN MR!63UQN1V-Z.%,2IQ&\_F:B&JO5F2Y:*?*3,#$RH=+=+&0KRR<@)LAC2+9M< M\+F5HA>48F]D&.HYD:]6VQMGFM/:"(>Z7(%4Z]@B!P7YY)GFLMR;J),R:5@" MLQQND8:#QN)Y,K)EC=9YM;*I($IE90RCWGA;[D+Y.!E9<=B6,YYY122:;IB6 MP^2I;:U[CNM;C3$WV#3J5;#NS8"IA'3@ T$^PTR.*\ZD[D;:\B+?DK8B5MN6 M-F>9"9MXHWXUM\8$A4/G%(KJLVV'/<=,38M@(]HSRP;G]/-^O\V0&GCF&69: M=?EF?CKQ1PC%$=JZNPCP'1X>,=.+S*#7K]?WU^974FA'=]'PI//"0O92$_E2 M)O+@T5 ],H9WO,35!]55* 0]W_?)(E_;SI*#S),M?&(**Z*D/618/W&7@-V. MO3FRLX)>(+8O0%\,E4.P+-BZ,Q:)[@/;4P(;?@A\T']D_C5P5F!O&0+[=^QD M 9LLF8$YZ9((U^)?BF=Z!7_!?DGR.N68J- M;H?-::Y!64ULUT3]/C\.O_V@'IB7O')THLJ(IP&&,!+JX#',B*JKQ%RQ8A&6V.;NTF>HW.C<%. M^Z%S)I3@3?!Y6M@UP*>T13EOAA:W?'EHYK7^FI[VO?!7=-!K@I'XS@[4.HZT MV!!F MO1)#=!K)\Z0KO$37.4!UW3QJYV.XX$KQ-C0ZFT4"6F60M5(I44V1Z-%QS 22 M10MZN\2BL*.P M"2O4:<*9YVS$=Z; )#^MU'3QN)0/BD:YY+8UE]JH4U[M"-[J#MI4.&[.UX-W M)];]3E 1ME1S^=;41NK5PD(9K#2E[['??I!8-O__VWO;IK:19G_X_:DZWT&5 ML]==N_\27CW:,MEKJP@A"5D"!$BRR1O76!IC!5ER] XG_[NGAG)\@/&$!G+ M9DZ=:X-E69J9_G5/=T\_M.H5FE*I ?/OI\/K#VX0?'IKO#^+=6?P^?;Q)=$> ML-[!^;_Z:-B-CC_]V.\=';\^/!U<^\NPR>K"$J:4AR*"F[VG=-:;\(,B=L1, M)Q1HFZ>%13.VSUV60FTM@R_B1#N&"2=X1CY6IXCK1EG(]#A. 9PSW)4->+D? M)<)UQ?L]"@L0)/"02V #_ %+JZ)%,A([L)\,'B]BQ5EH!R Q M(")Y1R0"CDH1YJ \^J SPIR])UJZ.A?-F1WJR7 Z-R1)62KZ98AKE@= 9R') M/):D!): AQPBTI481R,9QHFAN.@$E?8@B&Z2W:>HHR,LNB1E)V"SB4;_?FT; M7X,OSL\#X^L7NWM-AE___;ZJ$CI/@@U6W:HXM.6%TUQ8<3),Z&[^1WED.!!Q MOHDG?2X_(9P\42T55A/'J;-'UFF?36JZ2J]UJ. LKF)?.)DO/Q_3- M'J I7Y+\\P[6E=OEY\]HT]Y[[BM6FKTXOY5TDRC(4OH4Y[W+=!C6'U 3;'R, M_ZM5^1J:I$L-Z=)JM!<6KY9T60]=C(8FZ5)#ND@Y5D^Z2#E63[I(.59/ND@Y M5D^Z2#E63[I(.59/NH Y/6YMR_7801*3,JD!EK;(U7,5HPS$,D*&OJ M'4Q44YFR."OQH5":69NU8,M^5MB2L@CP8CP6+TZCO=XNG17#!4_BI>SY)=DC ML33&DB&Q)+$DY=)F8VG;@&3,58"F?&#:'=K$Q)+JXS6=FK94K9Z?:^CW(G3R MC^DJ@(.S^*7-YYN-R"'-%VTCLG 4>87OFU.]V+?_W:>'GK=Z.H?(SQ_TSNP=]I[6"3'>/&W[:B:,]N5J[)] MH69L4U.5'QA'U#_9/O5-*]]*=K[W5 M"@K;/OEWD%R%-U?^Q?NS@^0L2+]T4%#H.I9D::FM.3T?-OG4]RT-BUZ)Q!OX MH9^D,0LXK$PO6.?T"P-5>Z.U-H$ITY,Z+^#BOOER?'6KG M!]EM=KR??+7(E\>W_5Z*PSLG>ZG[+;I\=9"1OO[/JX.^]\'!FJ7&B[_;AFIH M*W0MU.8,XH$N9O+O=./G19Z DS5L/7G[HT\'%*T,[__?;N[./KT?)^U>K%1C74<^D.^\.!YK1.WGW<_CCXB2X MO@2!8:/ T/1G%&P@!884&/5R.MPK, Z^6-\^I]\T[V#D[?FN\VVTW[-6:W < MG!SI5_:;]/W5C[>=H[WNS2A\^QZ[GCDO_FZJMB8UC%4[(&JV#%)@U,=-<;^& ML?_!_]HD)_K5SF>:V;?'K[Z&GU8;?O"!'@21MW][=?#VXW[_Z^ G/?]RB@(# M/11-53.V*_C@C":4Q&Z?5_FGUS2(6-^%ZO2%]278/;DL6/-4ZR(8?MU7D:,2 M),/K,28G94/6^SR\OMW_,#C8OS'B=^^:G9-W@]4J$]][MZ_.KESW6*-[P^-_ MW&YHI*^QRRX&+JB:C%NHV-20HN.9BHY?T"F6$1V]LT]V+TQ^.I_.B7_T[^7/ M]&WR;;6.B[<77X\/ONWI)U>#SCO=&/Q[^>/K$?94ME_\[:BF+8,>I.B0HF.] M_HME1,=)=-CVR,G5^ZN3P<_SHRMW>!Y_6JW6<=RZ[;W='YR=7KV]OG:\BW^L MXX_O;D!TL) )5=--*3LJ=5A(V?%,9<>*U0XR#+Z?M[R?0^TD^3>Z&C4'Q]K) M:D.M]7]?G[\?_6C_.-B_,$X_'+UM=XSWJ':P>(NFVM*V.-RBR5YQ@0V25WG\ M,3X[9E^\NED\,-J95GG^.SC3:>-'@J]::BVU98''D]_0KIV1I$B MHB8B8DK%. S,@=;^=K/_B7XY^K9CF*/ASK?5'G"X'S[[WU^3JV]7Y.B+:3C] MF[H8@X>G-T^:YE'K__]/;T M7S_^I^N^CX(]$!'.B[]-PU+-YC.JU5"?L(FU,XH4$341$5-:Q+EQV8ISN+7XW[T?M'^[?_7VMO7N^]7PW=>DB5H$.A8,LZTZ]J+3 M4.99^),U /\[OTUT5M^H%N8K'RIC-!R10-91T>$>N]/'2M*/XG0GI?% "?"K M1+FA,57\ = :WD4"=E?:I_ _[.^#81Z)?ZL,(M;#A;(>+MA*03$U5<$-1V7W M(*X:3S-%F-4'DF8QK#76V(RR6(ER"/))*8%/.#$4DN ]4P/V$[S>BX(@NDEV MV:@G(%7%=CO)(T\W0V;$^ MG9L'_I?S\#Q[-_KX0J' 9$-X1QIGM%K!M6HN8'RH088)W>D5U+$G'_]KUG\YOQOOU\M.7 MYD'_VXG3/V^1&U0GP?9IMM6FW:KN5/5>+67UN 9Z6)7Q[%:$3]R[$TJ6K(8E M7V?T&(9S<4.#:\H;C\XK5A^X],V/XV'K:O3JS5'W;<=JTO=['8,5JS=MM;VP M"O56;+M ('M;]]6JV59NKNOA9-Q.+VZB>3&.;]X[O:__'(4'@TA[]WWG;7KZ M]M->QT0&MG1;-=K5,_":N;4I=U2YHZZ1#]$=/(<3;WL_;J[#@W?1U?[!EU9' M>__&^!;M=2S&B5I;M=OW^O6W8"MMR:U4;J5U9^$W43;/.OUG_]^KSS^_[+<. M:.]U3#YJUKN=@X^\<].J.'B=D+[HTYB27DKCZICV.:0 Y!QX4.!R$GW)- M@HQBE-94[-8J=^RU!XBN[UAX[5/?ZNW^#M$P1P2D^LY!.VOZ;PY^]/9&F6>\ M/CUM?N2I=X9J6"VUV;SW6+@V(;&3 2V/#PW$B2"U_# C?,(;%-=8_5"U)UGT MIQ[WXT>ZXC#=_6@P\%.FDN^%WC[#X24-79\FKV%K#Z(DB^=$Z/YS;=GVU=FG M3/MQ]*KWX;43?'Q]O;>B"%WVL=P"].[@;]W(&X(ZAFZ\5$K38T';$Q-<3WSZ M7_XDF/'O71_,=]]%%2&+W3X/8"]&W@ 9\;?RA2I]XH'N$/M1EBC#_$:VN?%0 M]\LH\A(%8]YI?.V#.J:DZ!? "+/?-FI/R5?AI N;)@/Y]'9R3.*X<]J+HH-] M/6M>T3#>_W;=W3=&Z26@P%(=S5"U.4>B# 6K60S=Z)@B]^3VX):.CKUA]\#? M]]]?MS3W>_SAT35PEER-MG-Y]/9]Y]W)U8Z3'OXXO8B\?ZP]+)ZE&;IJ:;.& M\[Q< ;9 >3PB9R81E&BH"NBO0^IBW&DP:BA*'8&G!^C^0>C=<@A#7!>D,_PYA%+<^ MKGHPVC !<10ER5B6C_9P2B382_>!$49P\3-:6'.Y)"3_MK[O7=)W!Z.+XZYV MWGD7'5_?@ )J:ZHVI];+)@J,QZ^.K7_K??3/OUT<4/_FAS4\NGAST@,9,KLN MD\) +3-Y#O6<691"SZU>8;];Y7I0B'DIA-X%HSQ&:[,_I5^:^))5Q-"7S$.7 MHA\PGY5AY<;R6,%QI@/C__=_)A( "O,7\XNB>#>W<4O3$HD'!C-W+^D.SR]@ MYX.[)+@AHR3/-FTWBDJ!NX69;#*YJ35,^S]*Z6]87(>/8F*6WFC9*Z+5U/9ACBGS%U'Z,3+W_UV<[,\U M6]B&$B(3!Q,ZK;CTXF^6#HR4%4,DR8)UZK:ZN.4W[!7\K_\5A2@?&!Q("6KCW'DR#+$G@\2#X M]D(2C!(_B7IOQ(^>7.W'\?'=SF@HXW$R*Z#U,E'&XV7B/!\Q+O4;V%_!&H ] M&1;=8TO&[CFC21:D[!;AX8C"6EH,%Z F\,1.U/.]R9F2?*9)/\H"#_02$-2$ MZ6FP'WW/0KZ=W?AIGREN<-'#>FR>TBO6)9QC3#MPP ^9J )T1@TC3,ZC.)490\J#1<6VJ5Q2N 'H %=\9?! /FU M%.PUMH7"W_RII_ \3O/#0U49(T#?PT2,?@7(Q )(FUY MOB98D-$E&0X/]4L_Y-H%3B,&%35F>4EP[0;^W FBZ H_EZ&0LD=T*8 VQ._N M6G2F*U?(. \0"R>PCODZKX=UP400+0-44(?"K ?:4Q93530VY#T%L/FDW\U2 MJGPX.T3#?PATP)U@ !8"D!4?P:QYQM$N'K-$,?"#BC\%.8^[!O^RL/NYT >J M<)MKL":3"J9/8C2#8)M"3A-63:F+ L(& !1=LSWJG@5H*.*!S#0* 6)78703 MHC5U[>/SX6$$A%*X,R"7(4U]%\]58W)-0]1'?Q>L=_A9,-T?"/N,L?NOW< #P)H\FH*!Q!1>D:$)ZE'%?!G+/RV)<:QP\,^S@LQ@L MLVPY@\9)BK\56UC2A MV<*P:6+F+YLT9Q$8%0@),@"!D7 ' %RLB6FH9 CKHN.99!1#..\Z\D0]A.F MG++WCP';I< #<*L8#Z,WVA$%I0 IJ@ -<)0_P!V!A(P3W-A/!7/Y08"$] 7$ M(@08Z!9<71E$UZB/,"<+:/BQ;JS&+*,1O4\16(MT/)-B_&N2G0=(F;MP"QP+>@A7,]A0'X!] M=1+<8MX)R@85<3*$O25%G6"\N^ STJS+5 ":YJUY"V&$JA\;UUB4H%''=(L M^%W\D0TO05K0\A:VIK5%_C =1YM>*H%!@3#D[ 0SM7W@>3;WA4)C8E5+(G-I M.9!S'GP4+V4.1#:D0B4M#^T>*8"6P>'9WNO##P>O^73%!(0$3L:,C7)[+/Y[ M/@U R&1#'*#)_&+*)0%%.&?E 27P>C]E&T$NSZ_].,T8AP$R;OK,I\M%?,Y) MP(%*'$6#>4/#126<%BXHZ@'J=US+$\NLD-S&\9GX8/MZP)>>[1N"=B5!D4L8 M&"8,!GUV0A]B(\(E1W<)\V2!B&>/QET9=S8T@?(G(HG0B=L'X7[9Q^?@'A=G M0Q0A=T"%BTWV)*:&P3L)/ER?/?Y\,10,C;T#S"#021$ M"PDN87YI?Y"\G,0[.@-]@$$$,TW$+RUN- %:X)M>@F>+;XL MEAF0R9#$]&/&-+G@(-XU'B> S$$R[5PB5/C^R)252_PUHRY?%!RU.%%G;.&' M_B ;*'O!-8U JT*##?ULW#9#+.,X^$G;'& ^6D0 :\"C1SMIM,.41(%B9'16 MAJDPWFBOQ_VH[- /)L*W-:3LO+>5337<1@.8'XB5<%W"%-1F[!@?\:PDX-0N8PIIY(Z9>?PC1RW<=QZF"V*^D\<>9E; MB:YI-%;UWN:3$XP08":NDGPA%!I@S))P3V*G;G%,?-FC@ M73=5/C7.&VRJ;)0NS54%=!_T%,/APEW<$5-A,3#K"\9BHO'/F8[?P9\:"4,C MR8;#@!$!'M<=*;9 '_(H?),#5^QSJ* TE,/)"8ACJ&LZMGN9ZZ2@+B<#0@_W M)F;-Y#?B,!+>$7&"Q&L"OFC.J+@C5RQW&3U\DK@W,VAY^2[/+O=A2H!T+OYC MM([0-P<;'@TGR]!QSXVH%@,@\430!S>%@R12V(D!PB2:LX@IO8P9@Q0:>Y^2 M +[*]34V(G:)X9(1>,2D)SOH89(4\!VB^RW'*"(,-:CIURW['&YI*-P:1'I. MNT%FV+<4SR"V]@&OEU,P6 -8!ST 7!LMRXH;[C) Q6PS$3%D(S$C7A4,LS/ MHQFLXDL8Y$]N5Q0>@[>G)TGA,R"PS0AK%=[""00;ERN\&;FH2?)2?<5,[A[\ M1IY$M>5)E#R)>NQ)U)/[@L?^^G=P.S,OUN03?B/4OH3B:8OR@_O+YQ<:1?F1 MZU1CP^0WLV$I,,X 5E7%^!&CV7 F!)&*PN8WO=G0Q_Z"G]"WC8,489'HFDW07:H6&3Y^CNH<^UX18UV>QX8S^/"!@X\[(#![)B[F+,%&2Y S)AW\PD@!BS6\+$QBC*K. MR5#B]\6%[->'I!S\7-#09:$OQ!-;!Z(4!?RY Q5A5(T@3L:'[$O(X@?+W$VT M]@U-6OO2VM\8:W^-T9LS(9FB]P/E_4C0]\I":] &'0L2-)**@:+<(2B&R(11 M#SS#A!&K]5*ZT<5HM)J2+O6C"^ABFNQN4T/" ,/8DB[UHTN[ M84FZU) NDE_J21?)+_6DB]YHR6Z#JZ/+ VOHW6M/KFT1G /%>9ZPUEM*PEGD4]V_OIT)]Y9]HV]^/N4>XVX"RGJ\7_/N-OHKS^[D^NS MF@VNDB6YOY+H['^KIWUSH:GX#&E_G[!>PY),TUX*O&4_VJ@3EZI6G1T_T;H.Z&F;G1WM;!0QC4W;0.@.#N^2W"A<5 M"@R)BRW"157RHH:*TQ)(F9S\XS2KVK3UX:\H_*I5J4UU:TC77*A>EF!MPK:#YV@WS5;*Y M)4G^O$AN5*^EU.;XYR$'/AONCV&)H"_^?AM'"1;#CWI^%0W5[_3*;",KM.SJ ME9S:X&-%>L\S04:[T=IR6W[U1OQ6 L-N-"4P)#!F@>%LO?/GB36M=4[U9*;2 MXFYERM4ZT5T=3:4O:(GD_>="T.VR^B4])3VWB)[21;,NM:G)/31W5E.6430S M!Q#2'_,\HV><1EN:U<\P:,(P).&?)^&U*D\>I;]D71H>UW'.9UM);(6_Y!?V MLVI#*:3+9.TT7<56M14T7;^5_0MLZDB2;A5)#;-*+I6^D_7Z3LYH0DGL]D6/ MZ6L:1$,L(B\C71[&%VK:A,C5K$ E;%1N.6^7:VDN:MZG-[MX+FVYLG R27V7#/ MC.1MF1JU#;XCH=T<\H;%K+-S--D940;=%* WM>K5F=H@X:/ZTX]M MI?QVQ5XXU6=]2\)O!N$K/QRK&>&?A?N&O^(D[=-8\;F6\[OPW?RA*B&M\'QL M"]5\HZ%+_\WS\M]H%9-56V'BF]6':4JW3G/E?+2JM\0PE>=-BD)OQF$ ME^Z<;7+GG-ZAX^11.=*GLS# N7*M9RODW1;[=%JR=.V&6OB/9_+*]1Q)\9I3 M7 ;D;(%/A[_BF*9"K7FZ]"T3V,"+LFY -YH/#'OKO3I/UUYJ6Q&R[4Z )^L^ MM)T L61[*@F010"IU']<2V_2=/NJ/U,"5*N4*'X(FERZ.SF2:1+P;PI5'4^\ MEM0&JQDI^UCN6#JU:#@BL607_9A2EGY_[M\J'^"'_40Y@$EZROLLI(JIJ0HV M &:W\(ZOU0Z3/6C73P%V[J*!ORR:DRK=D?*61I< QK[O*F?TTH_""H=5IK/9 M7!&A&3+SQPAYXT9!0(8)W&G9&1Y_O61+DG]FPFFW M&U-RM7,#B_!R&"4^AO'OQC1@-32GGBE6FKTXOY5TP1#.4CHUT2_UB:UL$9YX_^(&- MB=PHP(O_?6&_>*QT;S7,U=8%=R:/35P:IC1>O&#=B7>6UR?WBT_XP__ZLUO- MT=KBC:Z2E7CTO,M';)/';=U58&*U(5H58V+FA&1R4:3(6(7(6&/86\7PP?,T MSDRFIM[!5345*9N/I/4&4#XUDJ0HF@<@X[$ THV&O54 PA/]39$]3ZS._!)( MUIM]4SU(# D2"1(I221(JI8D0D&9\E!I=SAL)I95'Z_KU+2EZB,=-W__GH4D M\V VWA^;(I=^!2'K,J:V !"/DQ0U"WG^%.+,E/.4I)44R^%QA#6;Y&]53(P' MXFU):0C=4-M66[6-2MOX&.NIEK.2E,I?._"LV2I4Q0#;4P=+UU1';ZK-=J5E M "4#2 ;8$ 8P++5M.*IF5YKU)QE ,L"F,("FMMI-53-G.UQNG@_@$&VP5OX1SSRA>K M].^OO>;-^@X UC[UE>A+354W-=5LRQ."I_(/K1U'ZW,@K7WJ*SID:QFZ:C^N0O4FV."_0\>'L4-F/!D.2^IB?=?A9.0Q[6>)'H7*: M#8;*^2A)Z:"ZTMS;D+VY,#ZLOIF8EFH;AFHW90FR5<8';@Z,%T;3U1?&INK8 MIJKIE1>&6:<8GI=D6V2X2E@_ UCKFJHU==5TS.W M13/SQ/'+54W+;5MV]M9 MT&Y*7SZ%?VF8*I^QA(-R#I-(,&+23Z,8AE6Y]ER;Q:C:]*VE"_KQ]4UUPU%; M>N6*=LW(7Y^B05O#!/7S?#S>VFP;NMK4M[?X7*TT]]JLBF2*Q4J^8]BJ;1\H%,56]+7L>R)X'S[WG :)"-RI$A?3?2\[8"LZP'$UMS:F4NY&<(?<(R0F5 M[Q$;?HC *B;G;7%$*/M3M,?9&KAOSRD!^H),2[5:TA:M^,HP2;(*2J K\G*O^)/24*.W3>"L"[*O6]#<1M);JZ+9L>K_Q89Q5R^1- MQ+*)3;I53:M<.9=8EEA^8BRW09?0U*9N2"Q++&\XEIMJRW+4MK9U3>/Y*_8& M$0SY)V%A-%%/@16DK/SP#8EC$J8CA5S&E YHF*XTM'[=YRIK=JJO>_JK.F#5 M;-G-=SW=?+>8A9;IZ+L=+&3K3;5M;&]8OV0AR4*KMD6J/ QH@NPFD-V+,DQ:K@/L*ZS%L_9YK@3?354W-=5L M;TF9D_5N">M&R%-PPDP@Z+9P@J&V#%VUFS(L6G+"L^8$4U>;FJU:CCQ;EISP MK#G!L)GZ;\Q)E6'J_Y\I!MI4.@,_!#2FNV9S@G1W!';FIA:J]TM">N5#92C# M$8F%?A/%2MJG\+^8BN9J@XCU>N2'+=AS30$55,&.-VING2A^Z,:4)'##;V;# M4F"8@1^%J@)/,YH-1YBS2Q!Q2&/L=* J::3\IC<;>OXLI1=' [AD-%KC2V*P M"1E0!7[I1QZ,!(=F-!3EHN\G"OP_2=/8[V8I# X>BO?GH\6;HRQ>5*^)Q6)Y M1906O"K *U$N:%!@/_B\V(:L,=%/?:X>Y*_&\ILR]U22V$7GA4C'_=?3N+& M1 JMHJ?PG5TF#"L70P4^#'VZ4?#__L]$0^3"T;#C1D$4[^8"I30MT>;&8++E MDN[P?LND!V_>)<$-&25BFJUVHY!5NX5,,AED->R_H93^QO686T6TFN)<OD M4L];P2<79V="/C'AP7D7>!YY]E/CO%$66\98U#"QI;<;+2ZV)D62T6C/RA_J M1B F?F0D!@P+T2CDE=9PEK@?Y-7\4"T?A8@V]F MJQYZ: MT<(1K6>WG$,SF*HG,O@6H,LP&_8\=,U#RY);,:>@,P]N<[;'.JT7[IG>G$#H M<1ST)/(G]0M+:UASEM+ZU94LZ3&+%8V)2>%=Y &1*G M =B'B9^@Q 5E1?E- M:]B/&SI;L#62-U<>$_]6>:#6V&PTI[5&4YD49?KX%D$B T3$\H]:] MNB)%L"9<>,>F:,UNBNU)JAC6O"WC'OH+ZLW=&DO4>\R^:$Q)![L%J)D8<7.> M 3$]X/(XK7E[Z)P?W+ M_%T*6'IKK!QMZ29HC+<(MGYFJZ'/V03;\Q;"OUUV"YS+*D^R!>KS!/O] U_) M!E@RGM _X+NS_4@G7#_[4<+X.U\4'-/;.$H2Y32.>G[ZA*@;@ZXB?U3*]SYA MZW,G(MCY 1DF=#?_HSQ*')0PB]% =+EAF7LVF!U.LC3*+W CG%V9L-5+?DAQ MSZPS9*:/KLYGON2)O]EH+0QB+UF]I>='\,Q>$-WDJY9_9OZL7>[9N(%UNM>C M((C!7IS?2KI)%("R\A2>A&4ZK>K+ Z7D(/IEO[RV,"!?TF5-=-%8>VY)F+H1 MQFBT%G8FEG21@DS210JRVA-&"K)ZTD4*LIK210JR>A)&"K)ZTD4*LIK210JR MFA*FT3(D759&EXX('IN_H)U)]Y97I\7?U_@(3]&'N+QQ@$[WOCKSVXU =V+-9!*5N+1\^;' M.K/_G9G\,\3$N7^[$D3<)\K7L [32:]2'*X"^FO,^ZV8-?#HEV/&U-0[)$9- MQ:5$TC-!DA2S&\HG7 M4:="VV0XKFVR(M_&VFL6K\_YL?:IK\A#KCM-U:I2%DC_H.2A9\5#FJJ;;;75 M-"4/21Z2//0H9P6Z[5IJVZK<0),\)'FH?E-?R3[4!KNNK1K.;.<]>=*U<2== MLW9=7IN57%9WXK5-KII-Y-F6W=@JE^1_)B.M)4JW Z7M1H5[BD2I1.F*9.E6 MG75*E&XE2IU&A;&8ZS]W^8]L\/?H'BT/:RB#C2@FXMX6=>2QC;SC7]ZL@K>B M:D^W;RDW=+FS_\>$&3+1 D&;;"&A-8SY#;N6:H$U[M>E+]?S8&)3->\9CY?X!+H84.:[6@SOX%3)7B_I-$EX*%? MM.AA.%^$<IML=/]00_8/I;)_Z%RP/E7_T-)LEFKHUYZIX\K8;3E/5&YT"A]+OE42 +)V\[74";DV2I'UED_?=ZTD6*L7K2 M18JQ6I)%BK%ZTD6*L7K218JQ6I)%BK%ZTD6*L7K218JQ6I)%]N*I52^>^UR5 MVU$5_?$M \R&L]JH&=F+I[P2CY[W4_;BV31,R%X\4AQ6"OWMJ=HM>_%()-4= M25+,;BAS/+XYPMH+Z<@.&D^EADJ0R%X\$B12DDB0U%*2U%#Y6GDO'JZ=U:R" MP5L:TI@$+)R<> ,_]),T9AY>69C^GD.0+2E+;ZJF;JJ:[,L@^S(\1_@;JJ49 M:JLMRSU)^#]#^+=4PS15NZU+^$OX/S_XVZJN.VJKRF)_S[M0V3I=T+Q0V6E1 MFVP5C7FVHFC)/3%<]6570Y-%RB1&ZXU1W6E4WN138E1BM%(Y:DB,2HS6'*-: MH\+N>?4K3[;I)P?GK&(.GAO 75<4*V)(J_EY6,V&VK861@70C;($;07<:E6]4 MTM4E,2K=L1*CSPFC($K8U;0_.FU:U&>TZ;=+-ASG1GM^[M7,T?Q-M77_3] MI'CQW%[,?6!B&BL!O12CQ_;--$EX_V0Q]F2JZ_B0C.(HX/=W8>;8[SF_=4WM MQI=M)?XP0AGCQO.,4)8.))GJ+F[,=!=?W*R^U%U\:?+,6?!D3)RHUTMHJG1' M8 ![F0L#OX><5=+H(4P^3E;Z,)&L5'?N3F:3K JTY W0&5MKDUWA]88UAZV- M2J98RII#7N2H>T9ZC0;6N4,76/*/(2A)T()7D^%$JR7J]F0YD)FJI Y M@H?=C(4U51"A\Z,CYN_CYN3V8#>,"89GB-++^&&(TAJMAR'J;B"Y@)TL*&,] M45AW(!@?W!5EL1+""HI]#SL"*<-L,(19E">W!,2F=QE\%&(==Y@T2D?#8@-= MDYA8QM182I0\& 3-,0@L!SY-R!.]X4Q17R^K#(NI?R_Y%Y.,),H-Q6^3$I7P MUGM0@R.:AYK&4]@([$JY[NO=)#])<0T.0Y"C5(67KDGN\&'X8A@A, FN+RB6 MR#1P/:6 I[2X 6@.LPL5-XMC&KHCY9+X(=^X@B@I!'[$G@K[@PLD)"&-LD0\ MHJ$\4'^)2@-DX[M+AB%@M1FK0VOHYJ^9'0*TQ5+$U*6@7.H6**6-U]LJ_=__[/1/^^XAQYQXV" M*-[-JY.7IB7Z!AK,LW5)=WA[0-*#-^^2X(:,$C'-5KM1U#W?+0JVEN^)G^;68-S,4%^]I4R@HDT;#74-O,%3 M1S$Q,+%;]HIH-04^JX'\&7K#*BZ4'\,U3!\> UHUWV]Q>I\:Y[#+4X_YJI*4I%D:Q2/^@AF) MSV[&F^B<":F@(\:I3P*X?ZS"%[HB>V.ND<#KQ(:1PO;B(Y[% W&4=RK%^#;8 MZSW_R?;KA7M'.1JGQ_[OX;@Q'H6;MNFH35-GC]=56]?5MM%\ &J,L3-"*!&- M]FI1D]\\9T)/"AMEK:K''E/4I^0&=VFX=-"EL7 9Z"5L](FGA!&HTO@"O^>C MAA@W[/9YF(=YOL%%B>FP@9( [R3W. 5&,B"'P*9 M"9H76< 6%FPXU.X2H (,P26PJF 1,F5.Y6,A08+C$L8$ "$&FB(9?%)8\"FJ MZZ $^OB]@MV'QQ:@;I3-"S;N+@U\BMC%H:"#87*$0/@AS >>"^ 9OU+ %RQ2 M/P4L#(>P]; =$W\=D)N&\BZZ@"I(#)AHR-T$2 %X^2$2!I?JC(?D*>H7!)$Q6,3QE"(M?FS8CX-P2]S=T/*GV!H>IL+ M_ZR;T!\9S&)LMU;O15U.J3KR?V0^8(M+]7TR1+T,%BZ!^;KKTK.0[K!EA*X_ MQ+V$#P79("A&VR<@!$!TP!Z#Y_,!;@\T9%1R2<+E/?L#%MJ_)@%*):5+ @*B M#?@.[RL9GRJ_%_N>"^X<"M<3YS209C1)/A5=C_,.(L%TX,*CU+?*\E:GTGM-0F! MN=N7V*+NI@0J+)8]]DZJ,.S(O>H#6&F4&'$7;.OW*F9\\/E&J\SLL<4$2ECA+VJ5AW//V%OFV.5^]]C+,Q0*R=,Y MH.;MK$+2LD50A8MHQ)=$N&9S]:_$+3

    69@[DU&)Y')M"'>P<9 K6A*_ MN,F":BU>CEH*A5U$;&'LU>E-5)+1^ @0!=%@$'E,6V%2)/=F3LD,X%P._2%Q M 0EI*T!$(<([Z\EZ%@4 #7-VF?O<&+ MV"Y9>A%?8/:RL1(A@/=2Z>=ZC]_+2<%T28\F?HP#8[PP(",EH?2*G>ITV4Y' MA/JL]&!ZZ"M30=7WV6EG-V4'4GZ2P-Y;>JE@"79L [/#!02IF75!&2LDZ7I< MKH\/5F+A586,X7W^W"@(R#"AN_D?Y9'A0(2W"?TN+O?73/JW2I%CPKDUZT!, MX_RMXFDZG]9RV1,MO:$M#-@K>8I*ST?U'#?)?$GRS\Q'OI'&*-A M2;+4CRQ2CM64+GJCU9:$61EA'IC%>J\>MK9%*,[K MUA3ZW+]5/O!SG -VCO-+_:$E&N:A87NZI\\) -UBO,PLP&,!9#P60+K9,)QM M A!Z5R<1LRJ]N6XS+V=>3F9A=E>!&GO+4&-4(6=J5FGDF'+?- ^/P,VW.RHY MEL?)#)4D=EKUJZ5818D=X=?8DB([CJK;;=6Q*BVQ9M6.\.LH,;6]^$=[>$OP M;ZI:TU8M;;;JPN9IEH5XSQ(>1LZ/OU8DVK>B",.]3NK5(W>QK+H+M[\WU;9I MJZ;A_%&QY'Z.8GI;L+S845E;+)M62]5-7\>>4 M,XCM0[Z;^8]=71X5JO14%YG++3N ?G0=[FL M6/0D)LNS8U&6:./#B-R4WR4RI_/$%O84/\0S6)$0@\%FU"T2!EP7&"I-1"(N MBU+#WX7TDLQY.GM; "PRQV^RR!&JRN$#-Y1 AHJ?1+6&2WD0G(EDQ ME@G(ZTU OGOG&8L+)H2+A$7D3Y&9!;/#3R HQEL,"STOA"4(@"[E3(J\+\*S M86!9#X008_A2?9> ='FQ#0R5!RF .L6:LCCV[[/H)JMV.).24S<;UN-%)AG" M;GC+\O]@O7_3#1#,"R7G8:@@;,3U1&5WNB*M:TA\4$>'E.7GY,DR25Z.*.G# M6T6FQOJRYD0)C(@E#458SX@-$+-Z@ ;Q.(L.L\D0(?"EA[4"_2XFU28\]9!G MIV'N4T/AQ>WN?@8F"?#B@P%6X/ HUN, Q2/,H_CA>8.DH7P@(8A5EF* V7&I M* Z#V931#>9.,E+*59E@-;9T?4J\'QF)4UR3/%=! M 6[E"6,!QS137,ZSQ%>5HZ-]E15#@1G"G1B@C[J-T-7@7?M]XH/4"W-Y\"HB ML%\/41EQY?!8^FPV' M ;K$0YC1]S@O;B& <[X#M&3?+7[LN^]GR>?*I; 2C(0^$AJ5I&(@H@%LO$,UL.4#O*H(!,'YC_ P/A\WE@3 ME%/NG<11&6,-@C6+EG%+E&+9)OD1Z+NRSD&0>2R)'[D(^\DH< MQQ+'^4(C;0@3$DAWG]N2!%@ZP (*B1O[P]S4C_D"D/$"#"<6 %6W(/-R8W-< MRH.Q)?, >"RAG=49B(9%=CXKXL$NTVL29"1_8?$S+ED2%"UE68!YGI.YD'.$ M"D<+47SOOR\ZANM83I=XG;;9:W4LS:"=MNZ03L^QNSW/H=0SR MN2_!?H,PT M/^(VZJ?,1("WP,= ?'KM)R[H)%DL?O3DH"S)](92'B=;CM)(E6*HF-_=!0X6 MY8F5,S^YJDNMPS>BV,I^7C7PX%84@:MXE _3HYDTG*EH&,.09NJ0NE&2EKHT M 0^%$2OPP$T>\6,T='BU$MB/2OKS:TSD!#VN2/$7AN%[ C8'F'/*""3R[^A M-;277VG(_M)?_L$K3EQ'N)L'(ATWP B&S#+!PGBH1*#:BKH]VPEO,"$X M1"4#I^=B.C0K70*S\KDOSX4A$W\YL[X!J47 M9"CVBR(LO%+KV,$(4"P;O:#+)(2[%J?+19;7.69B N4,G]]XA0MOY)",V/#S M2@S,F,,50;)PB^C>WY9TD,(J5M/D!^'M S4&K+Y,D?0=E\H[8S6<%'!T"92"-^G:9#W>W)V1;P;P5G5Z MZ6]8*1A&4#>*45:CP PO[WYI%U/<%7]0: -D@.M5F-#+%BLK*D=.2&:K9VNV M2WN==LO4.Q9UVYUVM]OJF(YANJZFM9JZ-2.9K7UN-"7P2-B, 9$HWCJVT=8< M<_TBV6HH^0#9I,=#7(\&FDH;GDHPV(HRN]D;,X _,^R M@"9"YS')CF[_3O_@'UE9,MOCE_[(!>$YF,JB4%*QI>RY3.KH;3!SF2@:<+3^ MCC\0,K9\&"RY +)) 1.':4J+O*[[H8B1\B%_/U+DH><,^=QR?, MY\*+IR:LQA'CN23K@B*<%H8;CF=BU'Y25&U3^2*!B(0_P?Y&;^)/(9F+JJPH MTH4$2OW"T95P]Q6KZ@7?GA_L*_%X69DZ!>-/7K)G_6Z(63$#LSPU/V&;Q"#C M\CE7ZD&(N;G 'A3>'G5*21S7LJ&%-X.[*6.!@/S[L6H7Y=X.I!GZ]. F+/* M+CYT'[$Y8@DXF!PK.[^9IQBV/,60IQAU/<6(Z26)O5)='2^7:2BMF3H:\^)_ M?MCGU>@"?^#G)>R$8E*4B&3> E$4,!DEL(/B)^_>;6%&G("N*.(-\ ']#-VG M-(XC+DV8F]*/05BA%LCVP9B5 HQ]]@@LI37_10UF]\=<0U*9%EDJ<'G_0%'+ M!@T5UY$[1'CS;5E-F\V M9E' ZG'C -LK+DUZ7;['L4>V*&74L,?:"77#L8YTASL=>+F6*]G@4AB*8A=F]W$0LU.1"N('Q,ZMR>K,J9WY) MH'=":^-X<9D+ ,3E."Q#G#NZ.&;^+E:L]",_30*9P5<>+?@WL(.(,6@['W./ M_=B=C55SA0VJ+O3BS_Q ?=@Z5@G7NR/*MK1"?E.J=E*U>ZQJ)QPF6J_MV;1I M='JZ8W4L3^]VNC9I=O1NV[-ZED%ZSJ0K^W3O[.+P\.3BW<'9X?&;D[,/>Q>' M)\<=LVDY5FNUSI)[DL\('2WZ$38!9"X+B@A, M.K:FU<#UHS<4-C*E-+0UAH&,1,0D&O^H>^._75LE@)5E764V[ZE#UQ MQ)^OBFY/K%:H>+$X5<(:/GGT*=H+Z)#('S:NVGP51C.UU/?P M,.,-=\-WG);6=E;,?TLA=J_!#ED4,;"UH943@(?]*C$9^AY0DZE1K*YQ>.W' M4J\@\-29(. AZHDR#'P M?%Y.'96K+AU%:)MDA:7&SV*$GI<;=6%^)(/A-6QPKG# QX/[AW)'" 2RR)\P M2EZ6%5E65)]GD0]9P@O'BH/W_ DLQ LKQ)?71,131PDM'0CSP^ ;L/-W@BAB M=81+!\BAL;7R:J.G*ZN'.B"!V*)-KVT(7SJNFLV+(6$J[ M6)=1E"E)GZV:"RN/)]0CWH,L]Y%.>"5S*RT?VA+:=.XBR$_(T*[+T+,J_+"G M\ 2Q-:E*F7-R;W&9?X2W.#=0]ECDU%WO_JG!.TDPK@4L3E#NBA(J-;_# M%[$C12]RLX)&K'!^8=J<'^PWT"BAP'#,H8X'_%W*!&UTH_+2Q/<$?PC?#:*X M6*DABG;8/-#K6G9MKVSF$U*XU?0LVVVW.TV7F!T+!'*G[3:M3M.T>Z[I:'K3 M :L;/#XJ(.N7RD9#*8^3Q5^B$.!#+1]K('@_ M\0U8Z!QK$N''44@G@RX MTQX!@?5I&(7G-/2C>#S7CFF:>JNY?NJ8#44,4\%Q*GR@):JLBP*ILE?T'IF@ M!:&.I9&NVS';AMNQ7%/K.+KC=%J6I;5:-J%=QYL]9OT (OB<]&@Z*D61='3; M:CHUH(+54'" "A]A.=!E39[2!>OO$*]I>4VWH[N]7L?2-:=#FM3L=%O-EJY[ MEFX1T[':GOM#B$]NZ-KEFU938L8MCTC[IH'MWU@ ML33I&+99 \NXB2HS'U&EK1@$V!AH299&^06.6';E$=T:EJWZ@3GQQDSUP0:N MPI/5'YPC:A?5%Q148"4&N['RY^*[CYDWX(%5+$5)"+NU:&58G"*FE87IRE=G MD>OTY=WE*A]<.H%-W+$;S78=,''/K!?2_?4X:CT_B^/_OA9V\4-+5,)N,,DS MJY[]!->W&L9P3AV)LFZTP^^96")3;^A+D'\\-P[Z)V7VI4$Z'J5 Z-/*))(_ MA[@XL/":S[%(NC5Z67_3__ICQ0;V)YYSSH_<\* MWE@>-M;,P[,!3)*'GYZ'C8;^_R03;R@3&VO:B)-%._&B$,4R9^J.%J_V](XFK%>-JGP1N M7C_ER ^O6.V<9X6RUP=O),I6C++7F/3J/V.0'>V]DB!;,[5UKUAUCU1>?K8USF,:8LQ4[!Z)12FMY2P<'J.*(8R[:2 M6)1I]9,\.""_5X<[QV_.,:XD=!KG>9WV4MS%8V=O-\;3S\]MV95Q;(;>T-MT M,"=^8S* 8)F8GU*_YMG'8>R,UFC2XC =QE8$^X112 LJ*1CBH&B*-@[QX?]= M+L"BB!^Z+^R!<2?#XIW] 9S5(G*B)'XIQHB_:JYD6-MH+A#2PJ6*96Q%_@P6 M+:%T / 7L>ZL6DD>Y,Z*M68QH(&7=YOT.#K*O'183+W'X,$;S"9*,I;>G@>7 M8_$IE#X^%8G@!!G(Y;D0812+@?GE<6%A(QA!3$3]I9CV*$_ P$P2+'P%3PPO M2S552M'38D#3@U0Q+8E%.+(TAR[%*EDLKQ:CVGB".N:J8-A\Q/.8_+A4^$ZD M?HB2N*4ABI+.EQF(HLGQB:#563'QW+BB7FQQR)H0P.(R'R5+J,!#,Q&!S(^] M)NJI7JA\=V 9U434B2 IX1D9K#@K@RVKO997_IG85Y;(6+F#[Q)%U_%Q^O@T M;@;JR[ HJ[I0\"@,"0=;8M6<34=CID)>%H.X"\AUT5TV+$+7D1&Z,D+W%Y/& M80-KV9:A=3S+\CI6MV5TNF:7=.PN;7>;7MLV5UTW[R&IX(=G>Z\//QR\5O9/ MSDY/SJ;SO\\/WQ[O77PZ.SCO-"W;=K3ZC'P\M">KH3==[EV4+N&)@,M6P<.; MSEBV68R/PLHB7H9IEH3U;"CG>/)"=J(&'B9<8K(F!;6LQPN84+XG\!M$9F$6 M8O8I/A!4_W[$*M6M*D=G\1XQ9\M?])E"?["D)R98ME.7-;[8#::VSHU MJ[6A9'N(I^]>;#Z-PQ68&\7 ?U\8+^X=LJTU'/.I'7B+HN+G[Z6/#82O"45^ ME?'K,?@)AEEWXK]&K\ZNLI==9@DH628OH?>K[#F5Z#*\76?JTY_)GZ7^ M/9M#FD?SI5A]W##6O/2O1KN/X=A:P6?[H7.7GW(-4OXP378?F&AW%WIJ /]% M@<9XU4D!0?WT?]4/E;4##<*-)(?77IY_#LX+.DRNKVZ"@SF:[;0Y2 MI)Y1:SVCI.2.4<:4VW&SRSN4VYI%-3S%4>.<$V[VR^*^QYRK;#,Q9#$N:'1M[5M_4]LZ%OTJ6CK[2F?B."'0I0YEA@)OEIG7PO+2V=D_95N. M-3B6GR0G9#_]GBO9P4!HH2TM[<(,!.OGE>ZY]YXK*WM_"X+C,N=E(E+VS\G[ M/UBJDGHF2LL2+;A%Z4+:G$U45?&2O1=:RZ)@[[1,IX*Q-_WA=G_0?_,Z"/;W M,-1ATT>5$=L-1^'68&O$!J^CP2@:[;"S]VSSX^3PE6M\='HX^<_9L9_T[..[ M/TX.V480AO\>'8;AT>3(5V#T(9MH7AIII2IY$8;''S;81FYM%87A8K'H+T9] MI:?AY#S,[:S8#@NEC.BG-MW8WZ,2_!4\W=^;"["+%E;: M0NSOA>VG;QNK=+F_E\HY,W99B+<;,ZZGL@RLJJ+1H+)C] Q1?:/-9;"0J59<6D#7L@I!B=9QW[]$>H8_0ZW_#\T8WQMQH5P:XM5D:+R^#*7L;2_O1B^ M'HQ'P_YP+XRQ<]6WDO,+Q3H4VLI,)IRVCZF,'>929.SX4B0U;20[S5 K-*MJ M;6H.8["*G=<%9!N.>##Z3-'>YH+]B4$T%(/&QY? 6PE# M.4@L33-\,]KN,6X83U5%=M(='_U(G&:O!EO4P8W'=)V<0DAN8V<');'A6"QTMB+MQN##30IB@;T MJV=3\:1Y1@^-W[05?TXC)KQHH.=0"),;+W)I14 =152JA>8H\G:P"_F:":)& M\=]R,P+8G56SB/9BW/$!?JIAWZTZM&EW$3],G!.6N9A-AP$_R(TG9P?')V\/SYBAZ?G9Z?G!Y.3TP_CJ\6% MI*;0:??_3LE;3TO)[[AQ\97-ENP"VU0(!.*>UW6CX51AUE(A@F-X+DMXJB7\ MD]6U@)B(SRZ\0^N$IH.\F9J>G/5?\%/$LS""U@)@VB'VVT M9R%:F I>DF:G<2N(IE(L$Y#"IL3+[C8\P]=--?HYT"M8)DO@@Z!VA8>>"[*@ M/@#,5;TL,S@P'[MEF11UBC&!N8[R>\"K)*=7 3*$=K("\-85G!LDF1M3PV)2 MQZEZU*(NT 85@":F\XX>1)N1,-@V@,-%\,]CN$?D(N&UN7\7BO*Q M J;F3QO4+7& /"HJSB!IRXXA1@(ZX:^(B3HX>E-EY7AOUA00T0! M]!?I8WG]7]8$XJ=L O=VK;EI4T0'_[B>4#NC0$?D!L;3]EC5]FX)[A._^*JUH)PD^WP&RN(V MVW%V+OQ.0)XQ#?Z,ZX?A.GU:N#[RD+D-/3IL:B*(Y-+K1OO?56_28UO23&A?B50R60/H" W\>DZ*?^ZD^* %\;& MN5>+T"P=H"12 '\-7UDEIPO!+XB >&[L*(AC]>X(OCUM?!"JFXS3'S^M<;P\ M14D"6;>D&R8*)=I*DHT(.D'(R2N MU-"_H'=713SPFXX>_T&BBH)71D3M/]VI7V.^W%][)X K531MWQ8.D"0J^1&;D.W6NEFPP9S-O-RC0"NULL)6\D6CH M-^-.<_/@:@;=P9B=3;P!ZLYME\[@I&IZR])N;/L1)"?TEKO2GT,87+^Q76\\7**J)C"W3KBX9W(9, MV8N!^_F^"P]-V+GZ]B5ZNFLY1'0,O0@J[2^O2Z*5/UB1[Y;15RKREU72=UW8 M73=M*:,\TTB"L3S[K)X?M;#-,__F#;G5+1VMS4^?E/1?IY8V9_2L[ZF(UR&B M^2H'BWER,=6J+E/*()6.6I_:^;; ]8J&Y-.Y52%+$33/@VO9I/]&PK5T\EK1 MZNL/%3+]P*<#/$."&/&YDFFC]MW=_M;VRO?[LH$[G_%?JW#?T]C_'U!+ P04 M " #\@ -7,81*6XD( O+P & &ER;60M,C R,S V,S!X97@S,60R M+FAT;>U:_U/;.A+_5W1T[A5FXC@AT*,.988"?U*=A(@O$)?OZ0].E/ \DI::3^[^UE9AW^)HK,RYV4*@OU]]/XW)G1: M%U ZEAK@#EMGTN5LI*N*E^P]&".58F^-%!-@['6WO]?M=5^_BJ*C0QSJI.FC MRX0=Q(-XM[<[8+U726^0#/;9Y7NV_7%TLN.%3R].1O^Y/ N37GY\^]OY"=N* MXOC?@Y,X/AV=AAI^-#"^M=%*77,7QV8HO5AI;:$KG-@Z.J06_ E<'!T6X#A+\>'"R;C)SDBS8=EI884-S)*=#8*Z.F"KA)QMKEP[L3K.M9M?TR M7;HHXX54\^3E2!9@V0>8L2M=\/)E)[3@;PM&9B^'7MK*_P(.CW9IR!7]M8*X$OSVYR.9;NEQ?]5[WAH-_=/8S' MN'/5E]+S,]4Z >-D)E-.V\=TQDYR"1E[)TMT!,D5N\CP+1A6U<;6')W!:795 M*]2M/^!1?V^;[S!>"M;?%\U370J4=SFP?T%:&S0,"I_=(-Y*=)3CU-$T_=># MO0[CEG&A*_*3U?&Q'ZG3[%5OESKX\;@9\Q)L='&C8-X.M=OK?;O-/.^P?^B\ M9+\J*,L.R\' >,Y2OXMS5)*[Q.OA^%@!&VN#>_%FJ[>%(DHUH%\\VXJGS3/V M,/A?M.I/:<24JP9Z'H7HH7S-!TAC^2VY&A'[G M=)'07@Q78D"8JM_UJXZ=6%W$=U/GG.5\"LS 5,(,P>5R:=GO-3<.C)IC>Z4- M8J=D[[0I LSZO>B?A*;SJ^/3\_=GI^SDXNKRXNIX='[Q8;A<7$QFBKUU_^^, MO+M91G[+K<^OK)BS:]PF!9B(.\'6C86%QEE+C1DRQ$@UQ_CD3 VH)N9G MG][1ZIP5^&0HX&6P(EI& M-W,2*?@U^ "U&--BFT!E<$I% MX;:-8*DTR"E0#%F&;2(E6CO-F:WIQ[+_#"-+,P@MH) 6LQ]M=& A!FR%49)F MIW$K5$T+7"9""C=E/%_=AF?X^JD&/PA\@66+[+L$1,=G6>0^B)CE>UEF&,%" M\I9EJFJ!8R+H5JS?0GY3;G&5*SVR+< ,3:9VA3,ZI,>B-6G96@&I;9>YI^XQ5/]7>9F%U M=,NPO[PXV.W_;6@;-#;DAT*3;L@BF?R<<0,>7 @62=9#$#"P9$EIA;2IDK;&OM1P#9:!9151F-1ALV6;2.H!"!* W)NT4I/2YML3MQT?QMV MPN."H%)3X*LX*Y@RX)QF8A0Z5^ ?X$A:/6W*[/Z4&4Y):[_K'BA!-"7Y2I!_ M&,=W8/6#^0;6&!OE'*=@<=L0'#Z%?QK#'6(7*:_MX[M0FA\#HK"9*1 '71L< M "/J5%H?IU$*2C\.%2++"+^:)4*%C+!NF,,*(&5@+3X;E?2^ML0DO)=;3SM\ MK-86,A+L$?C-*BW#O\9 @I@%L#^(KQ7U?UH7 M&&^R"SPZM-[SA,<'Y4<[!#K15 K".;>Z]'CB%GV$&#B!GQO10A9=0_*Q5-+- MB*; CU@8VT/:QKMW#&CPF?_&%-%!-DGVZ!&7CMMKQ?@YA)U"? M(0W^C.NGX5IL%JY/ V3N0X].6QJR[-^LQ?<38CZ1&IVFM2& K7"--:,6VCIL M3ZG@S5 _'*@Y_V/;#W3)T%,P&M^1;A3'0A?\01&=(97U0J^=H%7.[8)N41SW MG@7")SB_'TWRF3,EKT$UIT9WY#M_>HN^IC?]8$ZR_S-4T/X46[3NU5E&40KJ MJQ!?!E0"Z1,(V+TJ8*$:KX5TVM@%Y_$-.&112.< _B!EC36R*GHO).KG!]E& M1\ ,82D#X6^J1UKOA=]KB>I[3ZU+_^7'[CP7Q3]V47RLD OCQOEOBVA9.D!) M)2#^&KZR*$YGP*^)@ 1N["F(9_7^#+X];7P2JIN*,QP_K0F\7&!'"XNX^Z ' M-+4 =D$8(^0Z@059I$"V+G#-N"5^,4V^6WLN^\QP_@@]O;5@_F[E[5IUCI'& M9 ;#7P>1!3YB(S;]5YD&Q)W F0YU6H*1 5*/FD^+IDFR$-1*3T'?#O+=8CL M_):+(*2_"$_J/@"V+_UIG&Q +Q<8PZ([>$R22R&@1 '2OC? PI4$PQ=Z?U4OEO#:Z;8A7"OQ+;BT;-%B1;,)WF1;EUH'SNO[-971&_+ MPQ&-"3NN)S42@T&'T96C=7ZT.1I_#GZ6P-Y4.WSVJGZJQ3S51$T4:%E%=<.L M5E*P%SW_[]NN.K;QRCV?9PNM6H@2XW[[JJ!ZX)/IOBVZ]J^S)\ M(4 K+.U!55/4\\J$G[E9,%Z>7D\,&D<0 MZ]4F::/HRA7GVR\:[DNUMI(E1,US[Q8##M>H;U'@6TV+.]L55B?1&(OCZXAG M2&H3/M52-&8_..CN[BVB?6CK^9HRW 7WE\N/_@=02P,$% @ _( #5Y6" M82;!!0 DB$ !@ !I&5X,S)D,2YH=&WM6FUOVS80 M_BNXF#81TJB+*(4J5)4;._7[TA*CIRDV=:F M2]K9@%_$.QZ/=\^]B/+H)\>9\ SSF"3HU]G9>Y2(N,H)5RB6!"L875"5H9DH M"LS1&9&2,H;>2)K,"4*'/7^OY_4.#QSG: 2BQO4HI',TTB/P27!R M-,J)PBC.L"R)>MVYFKUU!L"AJ&+D:.0VWY8W$LGJ:)30:U2J%2.O.SF6<\H= M)8HP\ HUA)DND&_Q+)T%3506^I[W\[# 24+YW&$D5>%^;S"X&9)TGJW'A-U: M* G#BEX3+;LE-68$RS 2*AO>7N"^F44S+Q5<.2G.*5N%KV8T)R7Z0!;H0N28 MO^K:$?@NB:3IJZ'A+NF?!$3#]A19*@AW7\(-*3??M_^T"M&&RLN MB-E;)%@"Q,DRHQ%5+U_X!]XPZ/?\D1N!Y8K'TO,+U1H3J6A*8ZS-AT2*QADE M*9HL25QI0Z+S%*A$(LR3FO:6<@@2BMF:-JUD66$(%"60/T!7ON(E[7O^1 MC6><3'D"P1X&!P]:\Y2C6'!N-;890:OZJ<)2$G9Y 2- MSR^FYQ?'L]/S#VA'<[]\,>CWO>%8Y)!*5N;*'^Y"KD!OA M$:ZC!KVK.$$!&%1G%6/6E+(F01G+@?LDA 1803MNLH1HYY"F8,6< M"60IE!%)0.&V;A=F&XUJ741PG#5^J, MH$A(V.?KCMO0$)036(8LNEN<%?F8R80!]*K$GFH$3]LI7J[U(Z_:^QS M:Q=/IL\,7&R!BM**0?#%$%%,8W ="9)\JJ@DNHZ7VO>W,+6#=^U/"#1_?R=I MKM+;8;0.H1I#_F&P-]10OS&(JT'@&NQL(92'WKT(ZC\5@NY51P.(T>A;<]42+<2<6C.&B)&'SH[VTAG%F&P_=NFDS@QT;?YB^$%=* M- .V*S0C&[VC=X/.#LDP@MN$C\X"3/BW[>^:CJ-2 ML$J188/C]G:_"5 "BTGC^_KSX23TO[?81FBU&('X#P/MCK5--M@L$@^:O8[+ MIH 62P1&H EZX9G7 V[Y!O9P2Q>FS:&%O:Q*>E\)^$((/9.T^#4>TJ!\8O>\ M685;]SSIKAZZ[YY"WT#US>G6,?_]KG:FDD(O5T S=\<[]_:RST?U'],AQ]6\ M*A4*[.G'U@/?T:Y^J,U\]_W8.Y%Q] LCG&\]] S[L:U[GKX?N_.L8^N*)^W M;ORA^^+C.!855_J)R+8AVS9DW]X#S5FL/95Y+NJU#HJR]=EFA../B3 M62'#IHZUGJ)O$NH3./V@A5%.G/JZJ7SMI_<;Q[0;0^N_!11X3AQ[5H=3162( MKP5-:KVC'//-NP?S,- ,B@ $0 @ $ :7)M9"TR,#(S,#8S,"YX&UL4$L! A0#% @ _( #5]XC)&5X& MV%P! !4 ( !XQT &ER;60M,C R,S V,S!?9&5F+GAM;%!+ M 0(4 Q0 ( /R U=VVN7&UL4$L! M A0#% @ _( #5P@#=#7(C $ &^43 !4 ( !O+D &ER M;60M,C R,S V,S!X,3!Q+FAT;5!+ 0(4 Q0 ( /R U=9':?WZ0@ 'HR M 8 " ;=& @!I&5X,S%D,2YH=&U0 M2P$"% ,4 " #\@ -7,81*6XD( O+P & @ '63P( M:7)M9"TR,#(S,#8S,'AE>#,Q9#(N:'1M4$L! A0#% @ _( #5Y6"82;! M!0 DB$ !@ ( !E5@" &ER;60M,C R,S V,S!X97@S,F0Q :+FAT;5!+!08 "0 ) & " ",7@( ! end