0001493152-22-022073.txt : 20220811 0001493152-22-022073.hdr.sgml : 20220811 20220811160613 ACCESSION NUMBER: 0001493152-22-022073 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 64 CONFORMED PERIOD OF REPORT: 20220331 FILED AS OF DATE: 20220811 DATE AS OF CHANGE: 20220811 FILER: COMPANY DATA: COMPANY CONFORMED NAME: VirTra, Inc CENTRAL INDEX KEY: 0001085243 STANDARD INDUSTRIAL CLASSIFICATION: MISCELLANEOUS MANUFACTURING INDUSTRIES [3990] IRS NUMBER: 931207631 STATE OF INCORPORATION: NV FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-38420 FILM NUMBER: 221155679 BUSINESS ADDRESS: STREET 1: 295 E CORPORATE PLACE CITY: CHANDLER STATE: AZ ZIP: 85225 BUSINESS PHONE: 4809681488 MAIL ADDRESS: STREET 1: 295 E CORPORATE PLACE CITY: CHANDLER STATE: AZ ZIP: 85225 FORMER COMPANY: FORMER CONFORMED NAME: VIRTRA SYSTEMS INC DATE OF NAME CHANGE: 20020628 FORMER COMPANY: FORMER CONFORMED NAME: GAMECOM INC DATE OF NAME CHANGE: 19991103 10-Q 1 form10-q.htm
0001085243 false Q1 --12-31 0001085243 2022-01-01 2022-03-31 0001085243 dei:FormerAddressMember 2022-01-01 2022-03-31 0001085243 2022-08-04 0001085243 2022-03-31 0001085243 2021-12-31 0001085243 us-gaap:CommonClassAMember 2022-03-31 0001085243 us-gaap:CommonClassAMember 2021-12-31 0001085243 us-gaap:CommonClassBMember 2022-03-31 0001085243 us-gaap:CommonClassBMember 2021-12-31 0001085243 2021-01-01 2021-03-31 0001085243 VTSI:NetSalesMember 2022-01-01 2022-03-31 0001085243 VTSI:NetSalesMember 2021-01-01 2021-03-31 0001085243 us-gaap:PreferredStockMember 2021-12-31 0001085243 us-gaap:CommonStockMember 2021-12-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001085243 us-gaap:TreasuryStockMember 2021-12-31 0001085243 us-gaap:RetainedEarningsMember 2021-12-31 0001085243 us-gaap:PreferredStockMember 2020-12-31 0001085243 us-gaap:CommonStockMember 2020-12-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001085243 us-gaap:TreasuryStockMember 2020-12-31 0001085243 us-gaap:RetainedEarningsMember 2020-12-31 0001085243 2020-12-31 0001085243 us-gaap:PreferredStockMember 2022-01-01 2022-03-31 0001085243 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001085243 us-gaap:TreasuryStockMember 2022-01-01 2022-03-31 0001085243 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001085243 us-gaap:PreferredStockMember 2021-01-01 2021-03-31 0001085243 us-gaap:CommonStockMember 2021-01-01 2021-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-03-31 0001085243 us-gaap:TreasuryStockMember 2021-01-01 2021-03-31 0001085243 us-gaap:RetainedEarningsMember 2021-01-01 2021-03-31 0001085243 us-gaap:PreferredStockMember 2022-03-31 0001085243 us-gaap:CommonStockMember 2022-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001085243 us-gaap:TreasuryStockMember 2022-03-31 0001085243 us-gaap:RetainedEarningsMember 2022-03-31 0001085243 us-gaap:PreferredStockMember 2021-03-31 0001085243 us-gaap:CommonStockMember 2021-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001085243 us-gaap:TreasuryStockMember 2021-03-31 0001085243 us-gaap:RetainedEarningsMember 2021-03-31 0001085243 2021-03-31 0001085243 VTSI:GeographicDistributionCommercialMember 2022-01-01 2022-03-31 0001085243 VTSI:GeographicDistributionGovernmentMember 2022-01-01 2022-03-31 0001085243 us-gaap:GeographicDistributionForeignMember 2022-01-01 2022-03-31 0001085243 VTSI:GeographicDistributionCommercialMember 2021-01-01 2021-03-31 0001085243 VTSI:GeographicDistributionGovernmentMember 2021-01-01 2021-03-31 0001085243 us-gaap:GeographicDistributionForeignMember 2021-01-01 2021-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember VTSI:GovernmentCustomersMember 2022-01-01 2022-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember VTSI:CommercialCustomersMember 2022-01-01 2022-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember VTSI:InternationalCustomersMember 2022-01-01 2022-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember VTSI:GovernmentCustomersMember 2021-01-01 2021-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember VTSI:CommercialCustomersMember 2021-01-01 2021-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember VTSI:InternationalCustomersMember 2021-01-01 2021-03-31 0001085243 VTSI:DeferredRevenueMember 2022-03-31 0001085243 VTSI:DeferredRevenueMember 2021-12-31 0001085243 VTSI:WarrantyMember VTSI:OneYearOrLessMember 2022-03-31 0001085243 VTSI:WarrantyMember VTSI:OneYearOrLessMember 2021-12-31 0001085243 VTSI:WarrantyMember VTSI:LongerThanOneYearMember 2022-03-31 0001085243 VTSI:WarrantyMember VTSI:LongerThanOneYearMember 2021-12-31 0001085243 VTSI:WarrantyMember VTSI:OneYearMember 2022-03-31 0001085243 VTSI:WarrantyMember VTSI:OneYearMember 2021-12-31 0001085243 us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember us-gaap:CustomerConcentrationRiskMember VTSI:OneCommercialCustomerMember 2022-01-01 2022-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember us-gaap:CustomerConcentrationRiskMember VTSI:OneFederalAgencyMember 2021-01-01 2021-03-31 0001085243 us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember us-gaap:CustomerConcentrationRiskMember VTSI:OneForeignAgencyMember 2021-01-01 2021-03-31 0001085243 VTSI:OneStateAgencyMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001085243 VTSI:SparePartsMember 2022-03-31 0001085243 VTSI:SparePartsMember 2021-12-31 0001085243 us-gaap:LandMember 2022-03-31 0001085243 us-gaap:LandMember 2021-12-31 0001085243 us-gaap:BuildingAndBuildingImprovementsMember 2022-03-31 0001085243 us-gaap:BuildingAndBuildingImprovementsMember 2021-12-31 0001085243 us-gaap:ComputerEquipmentMember 2022-03-31 0001085243 us-gaap:ComputerEquipmentMember 2021-12-31 0001085243 VTSI:FurnitureAndOfficeEquipmentMember 2022-03-31 0001085243 VTSI:FurnitureAndOfficeEquipmentMember 2021-12-31 0001085243 us-gaap:MachineryAndEquipmentMember 2022-03-31 0001085243 us-gaap:MachineryAndEquipmentMember 2021-12-31 0001085243 VTSI:STEPEquipmentMember 2022-03-31 0001085243 VTSI:STEPEquipmentMember 2021-12-31 0001085243 us-gaap:LeaseholdImprovementsMember 2022-03-31 0001085243 us-gaap:LeaseholdImprovementsMember 2021-12-31 0001085243 us-gaap:ConstructionInProgressMember 2022-03-31 0001085243 us-gaap:ConstructionInProgressMember 2021-12-31 0001085243 us-gaap:PatentsMember 2022-03-31 0001085243 us-gaap:PatentsMember 2021-12-31 0001085243 VTSI:CapitalizedMediaContentMember 2022-03-31 0001085243 VTSI:CapitalizedMediaContentMember 2021-12-31 0001085243 VTSI:AcquiredLeaseIntangibleAssetsMember 2022-03-31 0001085243 VTSI:AcquiredLeaseIntangibleAssetsMember 2021-12-31 0001085243 2021-01-01 2021-12-31 0001085243 VTSI:PropertyMember 2021-08-01 2021-08-25 0001085243 VTSI:ArizonaBankAndTrustMember 2021-08-01 2021-08-25 0001085243 VTSI:ArizonaBankAndTrustMember VTSI:OneHundredAndNineteenRegularMonthlyPaymentsMember 2021-08-01 2021-08-25 0001085243 VTSI:ArizonaBankAndTrustMember VTSI:OneIrregularPaymentMember 2021-08-01 2021-08-25 0001085243 VTSI:NotesPayableMember 2022-03-31 0001085243 VTSI:NotesPayableMember 2021-12-31 0001085243 VTSI:NotesPayableMember 2022-03-31 0001085243 VTSI:NotesPayableMember 2021-12-31 0001085243 VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember 2022-01-01 2022-03-31 0001085243 VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember 2021-01-01 2021-03-31 0001085243 VTSI:OneMemberOfTheBoardOfDirectorsMember 2022-01-01 2022-03-31 0001085243 VTSI:OneMemberOfTheBoardOfDirectorsMember 2021-01-01 2021-03-31 0001085243 srt:ChiefExecutiveOfficerMember us-gaap:RestrictedStockUnitsRSUMember 2022-08-01 2022-08-31 0001085243 srt:ChiefOperatingOfficerMember us-gaap:RestrictedStockUnitsRSUMember 2022-08-01 2022-08-31 0001085243 us-gaap:RestrictedStockUnitsRSUMember VTSI:TrancheMember VTSI:JuneThirtyTwoThousandAndTwentyTwoMember 2022-01-01 2022-03-31 0001085243 us-gaap:RestrictedStockUnitsRSUMember VTSI:TrancheMember 2021-01-01 2021-03-31 0001085243 us-gaap:DeferredProfitSharingMember 2022-01-01 2022-03-31 0001085243 us-gaap:CommonStockMember srt:MaximumMember 2016-10-24 2016-10-25 0001085243 us-gaap:CommonStockMember srt:MaximumMember 2019-01-08 2019-01-09 0001085243 VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember srt:ChiefExecutiveOfficerMember 2022-01-01 2022-03-31 0001085243 VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember srt:ChiefOperatingOfficerMember 2022-01-01 2022-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2021-12-31 0001085243 VTSI:NonQualifiedStockOptionMember 2020-12-31 0001085243 VTSI:NonQualifiedStockOptionMember 2022-01-01 2022-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2021-01-01 2021-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2022-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2021-03-31 0001085243 us-gaap:SubsequentEventMember VTSI:Mr.GivensMember 2022-05-01 2022-05-02 0001085243 us-gaap:SubsequentEventMember VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember VTSI:Mr.GivensMember 2022-08-27 2022-08-31 iso4217:USD xbrli:shares iso4217:USD xbrli:shares xbrli:pure

 

 

 

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 March 31, 2022

 

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

 

For the transition period from _____________ to ______________

 

Commission file number: 001-38420

 

VIRTRA, INC.

(Exact name of registrant as specified in its charter)

 

Nevada   93-1207631
(State or other jurisdiction   (I.R.S. Employer
of incorporation or organization)   Identification No.)

 

295 E. Corporate Place, Chandler, AZ   85225
(Address of principal executive offices)   (Zip Code)

 

Registrant’s telephone number, including area code: (480) 968-1488

 

7970 S. Kyrene Road, Tempe, AZ 85284

(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(s)   Name of each exchange on which registered
Common Stock $0.0001 par value   VTSI   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, smaller reporting company, or an emerging growth company. See the definitions of “large accelerated filer,” “accelerated filer,” “smaller reporting company,” and “emerging growth company” in Rule 12b-2 of the Exchange Act.

 

Large accelerated filer Accelerated filer
Non-accelerated filer Smaller reporting company
    Emerging growth company

 

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

 

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

 

As of August 4, 2022, the registrant had 17,200,133 shares of common stock outstanding.

 

 

 

 

 

 

VIRTRA, INC.

FORM 10-Q

 

TABLE OF CONTENTS

 

      PAGE NO.
PART I FINANCIAL INFORMATION  
       
  Item 1. Financial Statements (Unaudited) F-1
    Balance Sheets as of March 31, 2022 and December 31, 2021 F-1
    Statements of Operations for the Three Months ended March 31, 2022 and 2021 F-2
    Statements of Changes in Stockholders’ Equity for the Three Months Ended March 31, 2022 and 2021 F-3
    Statements of Cash Flows for the Three Months Ended March 31, 2022 and 2021 F-4
    Notes to the Unaudited Financial Statements F-5
       
  Item 2. Management’s Discussion and Analysis of Financial Condition and Results of Operations 3
       
  Item 3. Quantitative and Qualitative Disclosures About Market Risk 8
       
  Item 4. Controls and Procedures 8
       
PART II OTHER INFORMATION  
       
  Item 1. Legal Proceedings 9
       
  Item 1A. Risk Factors 9
       
  Item 2. Unregistered Sales of Equity Securities and Use of Proceeds 9
       
  Item 3. Defaults Upon Senior Securities 9
       
  Item 4. Mine Safety Disclosures 9
       
  Item 5. Other Information 9
       
  Item 6. Exhibits 10
       
  SIGNATURES 11

 

  2 

 

 

PART I: FINANCIAL INFORMATION

ITEM 1. FINANCIAL STATEMENTS

 

VIRTRA, INC.

BALANCE SHEETS

 

   March 31, 2022   December 31, 2021 
   (Unaudited)     
         
ASSETS          
           
Current assets:          
Cash and cash equivalents  $15,686,234   $19,708,565 
Accounts receivable, net   5,139,012    3,896,739 
Inventory, net   6,948,061    5,014,924 
Unbilled revenue   5,834,406    3,946,446 
Prepaid expenses and other current assets   961,278    940,887 
           
Total current assets   34,568,991    33,507,561 
           
Long-term assets:          
Property and equipment, net   13,474,263    12,864,766 
Operating lease right-of-use asset, net   704,453    784,306 
Intangible assets, net   566,159    535,079 
Security deposits, long-term   19,712    19,712 
Other assets, long-term   376,461    189,734 
Deferred tax asset, net   1,737,444    1,674,234 
           
Total long-term assets   16,878,492    16,067,831 
           
Total assets  $51,447,483   $49,575,392 
           
LIABILITIES AND STOCKHOLDERS’ EQUITY
           
Current liabilities:          
Accounts payable  $1,342,578   $789,394 
Accrued compensation and related costs   932,797    1,062,078 
Accrued expenses and other current liabilities   1,172,589    991,744 
Note payable, current   235,144    236,291 
Operating lease liability, short-term   354,496    347,772 
Deferred revenue, short-term   4,680,653    4,135,565 
           
Total current liabilities   8,718,257    7,562,844 
           
Long-term liabilities:          
Deferred revenue, long-term   2,245,856    1,992,625 
Note payable, long-term   8,222,666    8,280,395 
Operating lease liability, long-term   415,260    505,383 
Other long term liabilities   5,436    5,436 
           
Total long-term liabilities   10,889,218    10,783,839 
           
Total liabilities   19,607,475    18,346,683 
           
Commitments and contingencies (See Note 9)   -    - 
           
Stockholders’ equity:          
          

Preferred stock $0.0001 par value; 2,500,000 authorized; no shares issued or outstanding

   -    - 
Common stock $0.0001 par value; 50,000,000 shares authorized; 10,809,630 shares issued and outstanding as of March 31, 2022 and 10,807,130 shares issued and outstanding as of December 31, 2021   1,081    1,081 
Class A common stock $0.0001 par value; 2,500,000 shares authorized; no shares issued or outstanding   -    - 
Class B common stock $0.0001 par value; 7,500,000 shares authorized; no shares issued or outstanding   -    - 
Additional paid-in capital   30,957,616    30,923,391 
Retained earnings   881,311    304,237 
           
Total stockholders’ equity   31,840,008    31,228,709 
           
Total liabilities and stockholders’ equity  $51,447,483   $49,575,392 

 

See accompanying notes to unaudited financial statements.

 

 F- 1 

 

 

VIRTRA, INC.

STATEMENTS OF OPERATIONS

(Unaudited)

 

           
   Three Months Ended 
   March 31, 2022   March 31, 2021 
         
Revenues:          
Net sales  $6,753,228   $4,441,909 
Total revenue   6,753,228    4,441,909 
           
Cost of sales   3,066,138    1,873,404 
           
Gross profit   3,687,090    2,568,505 
           
Operating expenses:          
General and administrative   2,296,392    1,710,233 
Research and development   679,395    294,217 
           
Net operating expense   2,975,787    2,004,450 
           
Income from operations   711,303    564,055 
           
Other income (expense):          
Other income   54,323    16,379 
Other expense   (64,552)   (2,434)
           
Net other income (expense)   (10,229)   13,945 
           
Income before provision for income taxes   701,074    578,000 
           
Provision (Benefit) for income taxes   124,000    (77,163)
           
Net income  $577,074   $655,163 
           
Net income (loss) per common share:          
Basic  $0.05   $0.08 
Diluted  $0.05   $0.08 
           
Weighted average shares outstanding:          
Basic   10,807,269    7,775,212 
Diluted   10,850,376    7,835,830 

 

See accompanying notes to unaudited financial statements.

 

 F- 2 

 

 

VIRTRA, INC.

STATEMENTS OF CHANGES IN STOCKHOLDERS’ EQUITY

(Unaudited)

 

   Shares   Amount   Shares   Amount   Paid-In Capital  

Treasury 

Stock

   Accumulated Deficit   Total 
   For the Three Months Ended March 31, 2022 
   Preferred Stock   Common Stock   Additional           
   Shares   Amount   Shares   Amount   Paid-In Capital  

Treasury 

Stock

   Accumulated Earnings   Total 
                                 
Balance at December 31, 2021   -   $-    10,807,130   $1,081   $30,923,391   $-   $304,237   $31,228,709 
Stock options exercised   -    -    2,500    -    7,975    -    -    7,975 
Stock reserved for future services   -    -    -    -    26,250    -    -    26,250 
Net income   -    -    -    -    -    -    577,074    577,074 
Balance at March 31, 2022   -   $-    10,809,630   $1,081   $30,957,616   $-   $881,311   $31,840,008 

 

   For the Three Months Ended March 31, 2021 
   Preferred Stock   Common Stock   Additional           
   Shares   Amount   Shares   Amount   Paid-In Capital   Treasury Stock   Accumulated Deficit   Total 
                                 
Balance at December 31, 2020   -   $-    7,745,030   $778   $13,893,660   $-   $(2,235,852)  $11,658,586 
Stock options exercised   -    -    2,500    -    3,620    -    -    3,620 
Net income   -    -    -    -   $-   $-    655,163    655,163 
Balance at March 31, 2021   -   $-    7,747,530   $778   $13,897,280   $-   $(1,580,689)  $12,317,369 

 

See accompanying notes to unaudited financial statements.

 

 F- 3 

 

 

VIRTRA, INC.

STATEMENTS OF CASH FLOWS

(Unaudited)

 

           
   Three Months Ended March 31, 
   2022   2021 
         
Cash flows from operating activities:          
Net income  $577,074   $655,163 
Adjustments to reconcile net income to net cash (used in) provided by operating activities:          
Depreciation and amortization   215,746    97,290 
Right of use amortization   79,853    76,209 
Employee stock compensation   26,250    - 
Changes in operating assets and liabilities:          
Accounts receivable, net   (1,242,273)   (1,271,775)
Inventory, net   (1,933,137)   (675,480)
Unbilled revenue   (1,887,960)   (850,422)
Deferred taxes   (63,210)   - 
Prepaid expenses and other current assets   (20,391)   (321,781)
Other assets   (186,727)   - 
Security deposits, long-term   -    66,788 
Accounts payable and other accrued expenses   603,601    777,457 
Operating lease liability   (83,399)   (77,077)
Deferred revenue   798,319    (224,800)
           
Net cash used in operating activities   (3,116,254)   (1,748,428)
           
Cash flows from investing activities:          
Purchase of intangible assets   (51,644)   (48,205)
Purchase of property and equipment   (804,433)   - 
           
Net cash used in investing activities   (856,077)   (48,205)
           
Cash flows from financing activities:          
Principal payments of debt   (57,975)   - 
Stock options exercised   7,975    3,620 
Note payable-PPP Loan   -    (8,566)
Net cash used in financing activities   (50,000)   (4,946)
           
Net decrease in cash and restricted cash   (4,022,331)   (1,801,579)
Cash and restricted cash, beginning of period   19,708,565    6,841,984 
Cash and restricted cash, end of period  $15,686,234   $5,040,405 
           
Supplemental disclosure of cash flow information:          
Cash (refunded) paid:          
Income taxes paid (refunded)  $99,035   $(77,163)
Interest paid   63,776    2,434 
           
Supplemental disclosure of non-cash investing and financing activities:          
Conversion of inventory to property and equipment  $75,976   $- 

 

See accompanying notes to unaudited financial statements.

 

 F- 4 

 

 

VIRTRA, INC.

NOTES TO FINANCIAL STATEMENTS

(Unaudited)

 

Note 1. Organization and Significant Accounting Policies

 

Organization and Business Operations

 

VirTra, Inc. (the “Company,” “VirTra,” “we,” “us” or “our”), located in Chandler, Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for the law enforcement, military, educational and commercial markets. The Company’s patented technologies, software, and scenarios provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations. VirTra’s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology. The Company sells its products worldwide through a direct sales force and international distribution partners. The original business started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become VirTra, Inc., a Nevada corporation.

 

During March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy. On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March, with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona’s Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently. While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic on the Company’s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S. and global markets resulting from COVID-19. Additionally, the Company’s stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.

 

The Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.

 

Basis of Presentation

 

The unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and should be read in conjunction with our audited financial statements for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted as permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.

 

The accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our financial position at March 31, 2022 and the results of our operations and cash flows for the periods presented. We derived the December 31, 2021 condensed balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.

 

 F- 5 

 

 

Interim results are subject to seasonal variations, and the results of operations for the three months ended March 31, 2022 are not necessarily indicative of the results to be expected for the full year.

 

Use of Estimates

 

The preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts receivable, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets, income tax valuation allowances, and the allocation of the transaction price to the performance obligations in our contracts with customers.

 

Revenue Recognition

 

The Company adopted the Financial Accounting Standards Board’s (the “FASB”) Accounting Standards Codification (“ASC”) 606, Revenue from Contracts with Customer (Topic 606) (“ASC 606”) on January 1, 2018 and the Company elected to use the modified retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption of ASC 606 did not have a material impact on the financial statements.

 

Under ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as) the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.

 

The Company’s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable software and the sale of extended service-type warranties. The Company’s policy is to typically invoice upon completion of installation and/or training, until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of revenue recognition:

 

Performance Obligation   Method of Recognition
     
Simulator and accessories   Upon transfer of control
     
Installation and training   Upon completion or over the period of services being rendered
     
Extended service-type warranty   Deferred and recognized over the life of the extended warranty
     
Customized software and content   Upon transfer of control or over the period services are performed depending on the terms of the contract
     
Customized content scenario   As performance obligation is transferred over time (input method using time and materials expanded)
     
Sales-based royalty exchanged for license of intellectual property   Recognized as the performance obligation is satisfied over time – which is as the sales occur.

 

 F- 6 

 

 

The Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation and training and customized software performance obligations as the customer has the right and ability to direct the use of these products and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract. For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.

 

The Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties as these warranties represent a performance obligation to “stand ready to perform” over the duration of the warranties. As such, the warranty service is performed continuously over the warranty period.

 

Each contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract’s transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone selling prices, if any, are allocated proportionately to each performance obligation.

 

Disaggregation of Revenue

 

Under ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation disclosure by customer’s location and performance obligation.

 

Disaggregation of Revenue

  

   Three Months Ended March 31, 
   2022   2021 
   Commercial   Government   International   Total   Commercial   Government   International   Total 
Simulators and accessories  $1,580,192   $3,224,558   $906,636   $5,711,386   $273,796   $1,677,923   $1,077,185   $3,028,904 
Extended service-type warranties   31,487    620,361    17,662    669,510    22,074    670,584    20,050    712,708 
Customized software and content   -    51,714    83,000    134,714    -    467,413    52,273    519,686 
Installation and training   11,865    157,553    68,200    237,618    32,663    119,798    26,350    178,811 
Licensing and royalities   -    -    -    -    1,800    -    -    1,800 
Total Revenue  $1,623,544   $4,054,186   $1,075,498   $6,753,228   $330,333   $2,935,718   $1,175,858   $4,441,909 

 

For the three months ended March 31, 2022, governmental customers comprised $4,054,186, or 60% of total net sales, commercial customers comprised $1,623,544, or 24% of total net sales, and international customers comprised $1,075,498, or 16% of total net sales. By comparison, for the three months ended March 31, 2021, governmental customers comprised $2,935,718, or 66% of total net sales, commercial customers comprised $330,333, or 7% of total net sales, and international customers comprised $1,175,858, or 27% of total net sales.

 

Customer Deposits

 

Customer deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (“STEP”) operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer’s contract performance obligation. When revenue is recognized, the deposit is applied to customer’s receivable balance. Customer deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totaled $3,289,067 and $2,371,531 at March 31, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate from year to year based upon the mix of customers required to prepay deposits under the Company’s credit policy.

 

Warranty

 

The Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty. During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship, the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totaled $1,391,586 and $1,764,034 as of March 31, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties longer than one year totaled $2,089,195 and $1,815,871 as of March 31, 2022 and December 31, 2021, respectively. The accrual for the one-year manufacturer’s warranty liability totaled $385,000 and $384,000 as of March 31, 2022 and December 31, 2021, respectively. During the three months ended March 31, 2022 and 2021, the Company recognized revenue of $669,510 and $712,708, respectively, related to the extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of the warranties at the beginning of the period and new extended service-type warranties sold during the period.

 

 F- 7 

 

 

Concentration of Credit Risk and Major Customers and Suppliers

 

Financial instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates of deposit, accounts receivable and notes receivable.

 

The Company’s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the accounts are titled. The standard deposit insurance coverage limit is $250,000 per depositor, per FDIC-insured bank, per ownership category. The Company had uninsured cash and cash equivalents of $15,184,899 and $19,207,786 as of March 31, 2022 and December 31, 2021, respectively.

 

Most sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs ongoing credit evaluations of its customers’ financial condition and maintains an allowance for estimated losses. Historically, the Company has experienced minimal charges relative to doubtful accounts.

 

Historically, the Company primarily sells its products to United States federal and state agencies. For the three months ended March 31, 2022, one foreign agency comprised 16% of total net sales. By comparison, for the three months ended March 31, 2021, one federal agency comprised 10% and one foreign agency comprised 22% of total net sales.

 

As of March 31, 2022, one federal agency comprised 14% of total accounts receivable. By comparison, as of December 31, 2021, the Company did not have any customer that accounted for more than 10% of total accounts receivable.

 

Net Income (Loss)per Common Share

 

The net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants were exercised. Earnings per share computations are as follows:

Schedule of Earnings Per Share

   2022   2021 
   Three Months Ended March 31, 
   2022   2021 
Net income  $577,074   $655,163 
           
Weighted average common stock outstanding   10,807,269    7,775,212 
Incremental shares from stock options   43,107    60,618 
Weighted average common stock outstanding diluted   10,850,376    7,835,830 
Net income per common share and common equivalent shares          
Basic  $0.05   $0.08 
Diluted  $0.05   $0.08 

 

The Company has potentially dilutive securities outstanding that are not included in the diluted earnings per share calculation for the three months ended March 31, 2022 and 2021 because their effect would be anti-dilutive. These potentially dilutive securities, comprised entirely of the Company’s stock options, totaled 0 for the three months ended March 31, 2022 and 2021, respectively.

 

Note 2. Inventory

 

Inventory consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
         
Raw materials and work in process  $7,250,492   $5,229,636 
Reserve   (302,431)   (214,712)
           
Total inventory  $6,948,061   $5,014,924 

 

The Company regularly evaluates the useful life of its spare parts inventory and as a result, the Company classified $322,968 and $136,241 of spare parts as Other Assets, long-term on the Balance Sheet at March 31, 2022 and December 31, 2021, respectively.

 

 F- 8 

 

 

Note 3. Property and Equipment

 

Property and equipment consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
         
Land  $1,778,987   $1,778,987 
Building & Building Improvements   9,038,279    9,005,205 
Computer equipment   1,176,400    1,171,319 
Furniture and office equipment   262,814    262,814 
Machinery and equipment   2,447,373    1,970,007 
STEP equipment   1,572,228    1,496,252 
Leasehold improvements   334,934    334,934 
Construction in Progress   219,936    7,000 
           
Total property and equipment   16,830,951    16,026,518 
Less: Accumulated depreciation and amortization   (3,356,688)   (3,161,752)
           
Property and equipment, net  $13,474,263   $12,864,766 

 

Depreciation expense, including STEP depreciation, was $195,031 and $95,068 for the three months ended March 31, 2022 and 2021, respectively.

 

Note 4. Intangible Asset

 

Intangible asset consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
Patents  $160,000   $160,000 
Capitalized media content   382,872    331,228 
Acquired lease intangible assets   83,963    83,963 
           
Total intangible assets   626,835    575,191 
Less accumulated amortization   (60,676)   (40,112)
           
Intangible assets, net  $566,159   $535,079 

 

Amortization expense was $20,564 and $2,222 for the three months ended March 31, 2022 and 2021, respectively.

 

Note 5. Leases

 

The balance sheet classification of lease assets and liabilities as of March 31, 2022 was as follows:

 

      
Balance Sheet Classification  March 31, 2022 
Assets     
Operating lease right-of-use assets, December 31, 2021  $784,306 
Amortization for the three months ended March 31, 2022   (79,853)
Total operating lease right-of-use asset, March 31, 2022  $704,453 
Liabilities     
Current     
Operating lease liability, short-term  $354,496 
Non-current     
Operating lease liability, long-term   415,260 
Total lease liabilities  $769,756 

 

 F- 9 

 

 

Future minimum lease payments as of March 31, 2022 under non-cancelable operating leases are as follows:

  

       
2022   $286,412 
2023    390,562 
2024    131,152 
       
Total lease payments    808,126 
Less: imputed interest    (38,370)
Operating lease liability   $769,756 

 

 

The balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:

 

      
Balance Sheet Classification  December 31, 2021 
Assets     
Operating lease right-of-use assets, December 31, 2020  $1,094,527 
Amortization for the year ended December 31, 2021   (310,221)
Total operating lease right-of-use asset, December 31, 2021  $784,306 
Liabilities     
Current     
Operating lease liability, short-term  $347,772 
Non-current     
Operating lease liability, long-term   505,383 
Total lease liabilities  $853,155 

 

Future minimum lease payments as of December 31, 2021 under non-cancelable operating leases are as follows:

 

       
2022   $379,097 
2023    390,562 
2024    131,152 
       
Total lease payments    900,811 
Less: imputed interest    (47,656)
Operating lease liability   $853,155 

 

Rent expense for the three months ended March 31, 2022 and 2021 was $209,252 and $143,757, respectively.

 

Note 6. Accrued Expenses

 

Accrued compensation and related costs consisted of the following as of:

 

           
   March 31, 2022   December 31, 2021 
         
Salaries and wages payable  $161,972   $422,562 
Employee benefits payable   27,991    16,523 
Accrued paid time off (PTO)   528,152    483,311 
Profit sharing payable   214,682    139,682 
           
Total accrued compensation and related costs  $932,797   $1,062,078 

 

 F- 10 

 

 

Accrued expenses and other current liabilities consisted of the following as of:

 

           
   March 31, 2022   December 31, 2021 
         
Manufacturer’s warranties  $385,000   $384,000 
Taxes payable   276,754    113,921 
Miscellaneous payable   510,835    493,823 
           
Total accrued expenses and other current liabilities  $1,172,589   $991,744 

 

Note 7. Note Payable

 

On August 25, 2021, the Company completed the purchase of real property located in Chandler, Arizona (the “Property”) for $10,800,000, paid with cash and proceeds from a mortgage loan from Arizona Bank & Trust in the amount of $8,600,000. The loan terms include interest to be accrued at a fixed rate of 3% per year, 119 regular monthly payments of $40,978, and one irregular payment of $5,956,538 due on the maturity date of August 23, 2031. The Company began making monthly payments on September 23, 2021. The payment and performance of the loan is secured by a security interest in the property acquired.

 

The note payable amounts consist of the following:

 

           
   March 31, 2022   December 31, 2021 
         
Short-term liabilities:          
Note payable, principal  $230,689   $231,871 
Accrued interest on note   4,455    4,420 
           
Note payable, short-term  $235,144   $236,291 
           
Long-term liabilities:          
Note payable, principal  $8,222,666   $8,280,395 
           
Note payable, long term  $8,222,666   $8,280,395 

 

Note 8. Related Party Transactions

 

During the three months ended March 31, 2022 and 2021, the Company redeemed 8,750 and 8,750 previously awarded stock options nearing expiration from the Company’s CEO and COO. The redemption eliminated the stock options and resulted in a total of $24,150 and $57,067 in additional compensation expense in 2022 and 2021, respectively.

 

During the three months ended March 31, 2022 and 2021, the Company issued 2,500 and 2,500 shares of common stock, $0.0001 par value per share (the “Common Stock”), to one member of the Board of Directors for previously awarded stock options at an exercise price of $7,975 and $3,620, respectively.

 

 F- 11 

 

 

Note 9. Commitments and Contingencies

 

General or Threatened Litigation

 

From time to time, the Company is notified of threatened litigation or that a claim is being made against it. The Company evaluates contingencies on an on-going basis and has established loss provisions for matters in which losses are probable and the amount of loss can be reasonably estimated. There is no threatened litigation at this time.

 

Restricted Stock Unit Grants

 

The Company granted 224,133 and 168,090 performance-based restricted stock units (“RSUs”) in August 2021 to its Chief Executive Officer and Chief Operating Officer, respectively. It is the Company’s policy to estimate the fair value of the RSU’s on the date of the grant and evaluate the probability of achieving the net profit (net income under GAAP) tranches quarterly. If the target is deemed probable, the expense is amortized on a straight-line basis over the remaining time period. The Company determined based on the vesting terms described above that the net profit (net income under GAAP) for the twelve months ending June 30, 2022, of $2,500,000 is probable, the expense for the three months ending March 31, 2022, was $26,250.

 

Profit Sharing

 

VirTra provides a discretionary profit-sharing program that pays out a percentage of Company profits each year as a cash bonus to eligible employees. The cash payment is typically split into two equal payments and distributed pro-rata in April and October of the following year to only active employees. For the three months ended March 31, 2022, the amount expensed to operations was $75,000. For the three months ended March 31, 2021, no amount was credited to operations due to uncertainty related to on-going COVID restrictions.

 

Note 10. Stockholders’ Equity

 

Stock Repurchase

 

On October 25, 2016, the Company’s Board of Directors authorized the repurchase of up to $1 million of its common stock under Rule 10b-18 promulgated under the Securities Exchange Act of 1934, as amended. Purchases made pursuant to this authorization will be made in the open market, in privately negotiated transactions, or pursuant to any trading plan that may be adopted in accordance with the Rule 10b-18. The timing, manner, price and amount of any repurchases will be determined by the Company in its discretion and will be subject to economic and market conditions, stock price, applicable legal requirements and other factors. On January 9, 2019, VirTra’s Board of Directors authorized an additional $1 million be allocated for the repurchase of VirTra’s stock under the existing 10b-18 plan. The stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect until the PPP loan was forgiven on July 20, 2021, and has continued to remain in effect.

 

Treasury Stock

 

During the three months ended March 31, 2022, the Company purchased no additional treasury shares.

 

 F- 12 

 

 

Non-qualified Stock Options

 

The Company has periodically issued non-qualified stock options to key employees, officers and directors under a stock option compensation plan approved by the Board of Directors in 2009. Terms of option grants are at the discretion of the Board of Directors and are generally seven years. Upon the exercise of these options, the Company expects to issue new authorized shares of its common stock. The following table summarizes all non-qualified stock options as of:

 

   March 31, 2022   March 31, 2021 
   Number of   Weighted   Number of   Weighted 
  

Stock

Options

  

Exercise

Price

  

Stock

Options

  

Exercise

Price

 
Options outstanding, beginning of year   112,500   $3.51    164,167   $3.13 
Granted   -    -    -    - 
Redeemed   (8,750)   3.19    (8,750)   1.45 
Exercised   (2,500)   3.19    (2,500)   1.45 
Expired / terminated   -    -    -    - 
Options outstanding, end of period   101,250   $3.55    152,917   $3.25 
Options exercisable, end of period   101,250   $3.55    152,917   $3.25 

 

The Company did not have any non-vested stock options outstanding as of March 31, 2022 and December 31, 2021. The weighted average contractual term for options outstanding and exercisable at March 31, 2022 and 2021 was 7 years. The aggregate intrinsic value of the options outstanding and exercisable at March 31, 2022 and 2021 was $258,077 and $443,036, respectively. The total intrinsic value of options exercised and redeemed during the three months ended March 31, 2022 and 2021 was $30,675 and $52,898, respectively. For the three months ended March 31, 2022 and 2021, the Company received payments related to the exercise of options in the amount of $7,975 and $3,620, respectively. The aggregate intrinsic value is calculated as the difference between the exercise price of the underlying options and the fair value of the Company’s common stock for those stock options that have an exercise price lower than the fair value of the Company’s common stock. Options with an exercise price above the fair value of the Company’s common stock are considered to have no intrinsic value.

 

2017 Equity Incentive Plan

 

Through March 31, 2022, 224,133 and 168,090 restricted stock awards and 14,057 and 10,543 restricted shares have been granted under the Equity Plan to the Company’s CEO and COO, respectively.

 

Note 11. Subsequent Events

 

On May 2, 2022, VirTra, Inc. announced the appointment of John F. Givens II as its co-Chief Executive Officer, effective April 11, 2022. Mr. Givens has been serving as a director of VirTra since November 2020.

 

VirTra has agreed to pay Mr. Givens an initial annual base salary of $298,990, subject to annual review. VirTra issued Mr. Givens a signing bonus of 64,815 shares of common stock which are restricted from transfer until the earlier of: i) 12 months of employment having lapsed or ii) the Company terminating employment with Mr. Givens without cause.

 

Mr. Givens was also granted 288,889 performance-based restricted stock units pursuant to VirTra’s 2017 Equity Incentive Plan. Beginning on the last business day of August 2022, a tranche of restricted stock units, having an approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.

 

The vesting schedule notwithstanding, the Compensation Committee shall have the discretion to declare the vesting of any number of restricted stock units should the Company experience unusual results of operations, such as falling below the net profit threshold one year and exceeding the maximum net profit the following year, so long as the total number of restricted stock units declared to be vested does not exceed the amount awarded. Additionally, while a maximum net profit per year has been set for allocation of the available shares at this time, it is very possible that the Company will exceed these levels during the next 3 years and if such performance occurs, the Compensation Committee will meet to determine if additional compensation is in the best interests of the Company at that time.

 

 F- 13 

 

 

ITEM 2. MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS.

 

The following discussion and analysis of our financial condition and results of operations should be read in conjunction with our unaudited financial statements and related notes included in this Quarterly Report on Form 10-Q and the audited financial statements and notes thereto as of and for the year ended December 31, 2021 and the related Management’s Discussion and Analysis of Financial Condition and Results of Operations, both of which are contained in the Company’s Annual Report on Form 10-K for the year ended December 31, 2021, filed with the Securities and Exchange Commission (the “SEC”) on August 2, 2022.

 

Forward-Looking Statements

 

The information in this discussion contains forward-looking statements and information within the meaning of Section 27A of the Securities Act of 1933, as amended and Section 21E of the Securities Exchange Act of 1934, as amended, (the “Exchange Act”), which are subject to the “safe harbor” created by those sections. The words “anticipates,” “believes,” “estimates,” “expects,” “intends,” “may,” “plans,” “projects,” “will,” “should,” “could,” “predicts,” “potential,” “continue,” “would” and similar expressions are intended to identify forward-looking statements, although not all forward-looking statements contain these identifying words. We may not actually achieve the plans, intentions or expectations disclosed in our forward-looking statements and you should not place undue reliance on our forward-looking statements. Actual results or events could differ materially from the plans, intentions and expectations disclosed in the forward-looking statements that we make. The forward-looking statements are applicable only as of the date on which they are made, and we do not assume any obligation to update any forward-looking statements. All forward-looking statements in this Quarterly Report on Form 10-Q are made based on our current expectations, forecasts, estimates and assumptions, and involve risks, uncertainties and other factors that could cause results or events to differ materially from those expressed in the forward-looking statements. In evaluating these statements, you should specifically consider various factors, uncertainties and risks that could affect our future results or operations. These factors, uncertainties and risks may cause our actual results to differ materially from any forward-looking statement set forth in this Quarterly Report on Form 10-Q. You should carefully consider these risk and uncertainties described and other information contained in the reports we file with or furnish to the SEC before making any investment decision with respect to our securities. All forward-looking statements attributable to us or persons acting on our behalf are expressly qualified in their entirety by this cautionary statement.

 

Business Overview

 

VirTra, Inc. (the “Company,” “VirTra,” “we,” “us” and “our”) is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for the law enforcement, military, educational and commercial markets. The Company’s patented technologies, software, and scenarios provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations. VirTra’s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology.

 

The VirTra firearms training simulator allows marksmanship and realistic scenario-based training to take place on a daily basis without the need for a shooting range, protective equipment, role players, safety officers, or a scenario-based training site. We have developed a higher standard in simulation training including capabilities such as: multi-screen, video-based scenarios, unique scenario authoring ability, superior training scenarios, the patented Threat-Fire® shoot-back system, powerful gas-powered simulated recoil weapons, and more. The simulator also allows students to receive immediate feedback from the instructor without the potential for sustaining injuries by the instructor or the students. The instructor is able to teach and re-mediate critical issues, while placing realistic stress on the students due to the realism and safe training environment created by the VirTra simulator.

 

  3 

 

 

Business Strategy

 

We have two main customer groups, namely, law enforcement, and military. These are very different markets and require different sales and marketing programs as well as personnel. Our focus is to expand the market share and scope of our training simulators sales to these identified customer groups by pursuing the following key growth strategies:

 

  Build Our Core Business. Our goal is to profitably grow our market share by continuing to develop, produce and market the most effective simulators possible. Through disciplined growth in our business, we have achieved a solid balance sheet by increasing our working capital and limiting our bank debt. We plan to add staff to our experienced management team as needed to meet the expected increase in demand for our products and services as we increase our marketing and sales activities.
     
  Increase Total Addressable Market. We plan to increase the size of our total addressable market. This effort will focus on new marketing and new product and/or service offerings for the purpose of widening the number of types of customers who might consider our products or services uniquely compelling.
     
  Broaden Product Offerings. Since formation in 1993, our company has had a proud tradition of innovation in the field of simulation and virtual reality. We plan to release revolutionary new products and services as well as continue incremental improvements to existing product lines. In some cases, the company may enter a new market segment via the introduction of a new type of product or service.
     
  Partners and Acquisitions. We try to spend our time and funds wisely and not tackle tasks that can be done more efficiently with partners. For example, international distribution is often best accomplished through a local distributor or agent. We are also open to the potential of acquiring additional businesses or of being acquired ourselves, based on what is expected to be optimal for our long-term future and our stockholders.

 

Product Offerings

 

Our simulator products include the following:

 

  V-300® Simulator – a 300° wrap-around screen with video capability is the higher standard for simulation training

 

    The V-300® is the higher standard for decision-making simulation and tactical firearms training. Five screens and a 300-degree immersive training environment ensures that time in the simulator translates into real world survival skills. The system reconfigures to support 15 individual firing lanes.
       
    A key feature of the V-300®shows how quickly judgment decisions have to be made, and if they are not made immediately and quickly, it can lead to the possible loss of lives. This feature, among others, supports our value proposition to our customers that you cannot put a dollar value on being prepared enough for the surprises that could be around every corner and the ability to safely neutralize any life-threatening encounters.

 

  V-180®Simulator – a 180° screen with video capability is for smaller spaces or smaller budgets

 

    The V-180®is the higher standard for decision-making simulation and tactical firearms training. Three screens and a 180-degree immersive training environment ensures that time in the simulator translates into real world survival skills.

 

  V-100®Simulator & V-100® MIL – a single-screen based simulator systems

 

    The V-100® is the higher standard among single-screen firearms training simulators. Firearms training mode supports up to four (4) individual firing lanes at one time. The optional Threat-Fire® device safely simulates enemy return fire with an electric impulse (or vibration version), reinforcing performance under pressure. We offer an upgrade path, so a V-100® firearms training and force options simulator can affordably grow into an advanced multi-screen trainer in upgraded products that we offer customers for future purchase.

 

  4 

 

 

    The V-100® MIL is sold to various military commands throughout the world and can support any local language. The system is extremely compact and can even share space with a standard classroom or squeeze into almost any existing facility. If a portable firearms simulator is needed, this model offers the most compact single-screen simulator on the market today – everything organized into one standard case. The V-100® MIL is the higher standard among single-screen small arms training simulators. Military Engagement Skills mode supplies realistic scenario training taken from real world events.
       
    The V-ST PRO® a highly-realistic single screen firearms shooting and skills training simulator with the ability to scale to multiple screens creating superior training environments. The system’s flexibility supports a combination of marksmanship and use of force training on up to 5 screens from a single operator station. The V-ST PRO® is also capable of displaying 1 to 30 lanes of marksmanship featuring real world, accurate ballistics.

 

  Virtual Interactive Coursework Training Academy (V-VICTA)™ enables law enforcement agencies, to effectively teach, train, test and sustain departmental training requirements through nationally accredited coursework and training scenarios using our simulators.
     
  Subscription Training Equipment Partnership (STEP)™ is a program that allows agencies to utilize VirTra’s simulator products, accessories, and V-VICTA™ interactive coursework on a subscription basis.
     
  V-Author® Software allows users to create, edit, and train with content specific to agency’s objectives and environments. V-Author® is an easy to use application capable of almost unlimited custom scenarios, skill drills, targeting exercises and firearms course-ware proven to be highly effective for users of VirTra simulation products.
     
  Simulated Recoil Kits - a wide range of highly realistic and reliable simulated recoil kits/weapons. These drop-in conversion kits fit into real weapons but safely simulate the most powerful recoil on the market and even lock-back when out-of-ammunition or simulating a dud.
     
  Return Fire Device – the patented Threat-Fire® device which applies real-world stress on the trainees during simulation training.
     
  TASER©, OC spray and low-light training devices that interact with VirTra’s simulators for training.

 

Recent Developments

 

During March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy. On March 30, 2010, the Governor for the State of Arizona issued a stay-at-home order, currently in effect until May 15, 2020. The Company carefully reviewed all rules and regulations of the government orders and determined it met the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March, with only essential personnel continue working at the manufacturing and production facilities. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently. While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic on the Company’s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have been no order cancellations only delays in when orders ship or installations occur and all delayed orders remain in backlog. Although not a material component of our company, a significant adverse change in the business climate could affect the value of the Company’s long-term investment in TEC, currently there has not been a negative impact and any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S. and global markets resulting from COVID-19. Additionally, the Company’s stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension has continued in effect, even though the PPP loan has been forgiven and is no longer outstanding.

 

  5 

 

 

Results of operations for the three months ended March 31, 2022 and March 31, 2021

 

Revenues. Revenues were $6,753,228 for the three months ended March 31, 2022 compared to $4,441,909 for the same period in 2021, an increase of $2,311,319, or 52%. The increase in revenues for the three months ended March 31, 2022 resulted from an increase in the number of simulators and accessories completed, delivered and revenue recognized compared to the same period in 2021.

 

Cost of Sales. Cost of sales were $3,066,138 for the three months ended March 31, 2022 compared to $1,873,404 for the same period in 2021, an increase of $1,192,734, or 64%. The increase was due to additional material costs due to higher quantities of simulator systems and accessories sold. The cost of sales on a dollar basis varies from quarter-to-quarter as a result of sales volume and product mix.

 

Gross Profit. Gross profit was $3,687,090 for the three months ended March 31,2022 compared to $2,568,505 for the same period in 2021, an increase of $1,118,585, or 44%. The gross profit margin was 55% for the three months ended March 31, 2022 and 58% for the same period in 2021. The increase in gross profit in terms of dollars was due to the increase in revenues, while the decrease in gross profit margin as a percentage of revenues can be attributed to increased costs, and the product mix of systems, accessories and services sold.

 

Operating Expenses. Net operating expense was $2,975,787 for the three months ended March 31, 2022 compared to $2,004,450 for the same period in 2021, an increase of $971,337, or 48%. The increase was mainly due to increases in marketing, research and development, and professional services expenses.

 

Operating Income (Loss). Operating income was $711,303 for the three months ended March 31, 2022 compared to an operating income of $564,055 for the same period in 2021, an increase of $147,248, or 26%.

 

Other Income. Other expense net of other income was $10,229 for the three months ended March 31, 2022 compared to other income net of other expense of $13,945 for the same period in 2021, a decrease of $24,174, or 173%, primarily from an increase in interest expense related to the note payable.

 

Provision for Income Tax Benefit. Provision for income tax was $124,000 for the three months ended March 31, 2022 compared to a provision for income tax benefit of $77,163 for the same period in 2021, an increase of $201,163, or 261%. Provision (benefit) for income tax is estimated quarterly applying both federal and state tax rates.

 

Net Income (Loss). Net income was $577,074 for the three months ended March 31, 2022 compared to a net income of $655,163 for the same period in 2021, a decrease of $78,089, or 12%. The fluctuations in net income (loss) relates to each respective section discussed above.

 

Adjusted Earnings Before Interest, Taxes, Depreciation and Amortization. Explanation and Use of Non-GAAP Financial Measures:

 

Earnings before interest, income taxes, depreciation and amortization and before other non-operating costs and income (“EBITDA”) and adjusted EBITDA are non-GAAP measures. Adjusted EBITDA also includes non-cash stock option expense. Other companies may calculate adjusted EBITDA differently. The Company calculates its adjusted EBITDA to eliminate the impact of certain items it does not consider to be indicative of its performance and its ongoing operations. Adjusted EBITDA is presented herein because management believes the presentation of adjusted EBITDA provides useful information to the Company’s investors regarding the Company’s financial condition and results of operations and because adjusted EBITDA is frequently used by securities analysts, investors and other interested parties in the evaluation of companies in the Company’s industry, several of which present EBITDA and a form of adjusted EBITDA when reporting their results. Adjusted EBITDA has limitations as an analytical tool and should not be considered in isolation or as a substitute for analysis of the Company’s results as reported under accounting principles generally accepted in the United States of America (“GAAP”). Adjusted EBITDA should not be considered as an alternative for net income (loss), cash flows from operating activities and other income or cash flow statement data prepared in accordance with GAAP or as a measure of profitability or liquidity. A reconciliation of net loss to adjusted EBITDA is provided in the following table:

 

  6 

 

 

   For the Three Months Ended 
   March 31,   March 31,   Increase   % 
   2022   2021   (Decrease)   Change 
                 
Net Income (Loss)  $577,074   $655,163   $(78,089)   -12%
Adjustments:                    
Provision (Benefit) for income taxes   124,000    (77,163)   201,163    -261%
Depreciation and amortization   215,746    97,290    118,456    122%
EBITDA  $916,820   $675,290   $241,530    36%
                     
Right of use amortization   79,853    76,209    3,644    5%
                     
Adjusted EBITDA  $996,673   $751,499   $245,174    33%

 

Liquidity and Capital Resources. Liquidity is the ability of an enterprise to generate adequate amounts of cash to meet its needs for cash requirements. The Company had $15,686,234 and $19,708,565 of cash and cash equivalents as of March 31, 2022 and December 31, 2021, respectively. Working capital was $25,850,734 and $25,944,717 as of March 31, 2022 and December 31, 2021, respectively.

 

Net cash used in operating activities was $3,116,254 and $1,748,428 for the three months ended March 31, 2022 and 2021, respectively. Net cash used in operating activities resulted primarily from increases in accounts receivable, inventory, and unbilled revenues, offset by increases in trade accounts payable, accrued compensation, and deferred revenues, as well as other changes in operating assets and liabilities.

 

Net cash used in investing activities was $856,077 and $48,205 for the three months ended March 31, 2022 and 2021, respectively. Investing activities consisted of the purchase of intangible assets and equipment.

 

Net cash used in financing activities was $50,000 and $4,946 for the three months ended March 31, 2022 and 2021, respectively. Financing activities in 2022 consisted of principal payments on note payable offset by stock options exercised. Financing activities in 2021 consisted of stock options exercised and redeemed.

 

Bookings and Backlog

 

The Company defines bookings as the total of newly signed contracts and purchase orders received in a defined time period. The Company received bookings totaling $6.4 million for the three months ended March 31, 2022. The Company defines backlog as the accumulation of bookings that have not started or are uncompleted performance objectives and cannot be recognized as revenue until delivered in a future quarter. Backlog also includes extended warranty agreements and STEP agreements that are deferred revenue recognized on a straight-line basis over the life of each respective agreement. As of March 31, 2022, the Company’s backlog was $21.0 million, net of a $1.8 million reduction due to budgetary cuts and government de-funding. Management estimates the majority of the new bookings received in the first quarter of 2022 will be converted to revenue in 2022. Management estimates the conversion of backlog based on current contract delivery dates; however, contract terms and dates are subject to modification and are routinely changed at the request of the customer. Additionally, due to the impact of COVID-19, management’s estimates will change in accordance with federal and state guidelines. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have been no order cancellations, only delays in when orders ship or installations occur and all delayed orders remain in backlog.

 

  7 

 

 

Cash Requirements

 

Our management believes that our current capital resources will be adequate to continue operating the company and maintaining our current business strategy for more than 12 months from the filing of this Quarterly Report. We are, however, open to raising additional funds from the capital markets, at a fair valuation, to expand our product and services offered, to enhance our sales and marketing efforts and effectiveness, and to aggressively take advantage of market opportunities. There can be no assurance, however, that additional financing will be available to us when needed or, if available, that it can be obtained on commercially reasonable terms. If we are not able to obtain the additional financing on a timely basis, if and when it is needed, we will be forced to scale down our plans for expanded marketing and sales efforts.

 

Critical Accounting Policies and Estimates

 

Our discussion and analysis of our financial condition and results of operations are based on our unaudited condensed financial statements, which have been prepared in accordance with GAAP. The preparation of our unaudited condensed financial statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue, expenses, and related disclosure of contingent assets and liabilities. On an ongoing basis, we evaluate our estimates, including those related to areas that require a significant level of judgment or are otherwise subject to an inherent degree of uncertainty. Significant accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts and notes receivable, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets, income tax valuation allowances, the carrying value of cost basis investments, and the allocation of the transaction price to the performance obligations in our contracts with customers. We base our estimates on historical experience, our observance of trends in particular areas, and information or valuations and various other assumptions that we believe to be reasonable under the circumstances and which form the basis for making judgments about the carrying value of assets and liabilities that may not be readily apparent from other sources. Actual amounts could differ significantly from amounts previously estimated. For a discussion of our critical accounting policies, refer to Part I, Item 7, “Management’s Discussion and Analysis of Financial Condition and Results of Operations” in our Annual Report on Form 10-K for the year ended December 31, 2021. Management believes that there have been no changes in our critical accounting policies during the three months ended March 31, 2022.

 

Recent Accounting Pronouncements

 

See Note 1 to our financial statements, included in Part I, Item 1., Financial Information of this Quarterly Report on Form 10-Q.

 

Off-Balance Sheet Arrangements

 

As of March 31, 2022, we did not have any off-balance sheet arrangements 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 are material to investors. The term “off-balance sheet arrangement” generally means any transaction, agreement or other contractual arrangement to which an entity unconsolidated with us is a party, under which we have any obligation arising under a guarantee contract, derivative instrument or variable interest or a retained or contingent interest in assets transferred to such entity or similar arrangement that serves as credit, liquidity or market risk support for such assets.

 

ITEM 3. QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK.

 

Not required for smaller reporting companies.

 

ITEM 4. CONTROLS AND PROCEDURES.

 

Evaluation of disclosure controls and procedures

 

We maintain “disclosure controls and procedures,” as that term is defined in Rule 13a-15(e), promulgated by the SEC pursuant to the Exchange Act. Disclosure controls and procedures include controls and procedures designed to ensure that information required to be disclosed in our company’s reports filed under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms, and that such information is accumulated and communicated to our management, including our principal executive officer and principal financial officer, to allow timely decisions regarding required disclosure. Our management, with the participation of our principal executive officer and principal financial officer, evaluated our company’s disclosure controls and procedures as of the end of the period covered by this quarterly report on Form 10-Q. Based on this evaluation, our principal executive officer and principal financial officer concluded that as of March 31, 2022, our disclosure controls and procedures were not effective. The ineffectiveness of our disclosure controls and procedures was due to material weaknesses, which we identified in our report on internal control over financial reporting contained in our Annual Report on Form 10-K for the year ended December 31, 2021, filed with the SEC on August 2, 2022.

 

  8 

 

 

Change in internal control over financial reporting

 

There has been no change in our internal control over financial reporting that occurred during the quarterly period ended March 31, 2022 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting. Subsequent to March 31, 2022, we have implemented more formal review and documentation of workflow processes, and increased our ERP training for our staff. We believe that a control system, no matter how well designed and operated, cannot provide absolute assurance that the objectives of the control system are met, and no evaluation of controls can provide absolute assurance that all control issues and instances of fraud, if any, within any company have been detected.

 

PART II: OTHER INFORMATION

 

ITEM 1. LEGAL PROCEEDINGS

 

See Note 9 to our unaudited financial statements, included in Part I, Item 1., Financial Information of this Quarterly Report on Form 10-Q, which information is incorporated herein by reference.

 

ITEM 1A. RISK FACTORS

 

Not required for smaller reporting companies.

 

ITEM 2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS

 

None.

 

ITEM 3. DEFAULTS UPON SENIOR SECURITIES

 

None

 

ITEM 4. MINE SAFETY DISCLOSURES

 

Not applicable.

 

ITEM 5. OTHER INFORMATION

 

  (a) None
     
  (b) There have been no material changes to the procedures by which security holders may recommend nominees to the Company’s Board of Directors since the filing with the SEC of the Company’s Annual Report on Form 10-K for the year ended December 31, 2021.

 

  9 

 

 

ITEM 6. EXHIBITS

 

Exhibit

No.

  Exhibit Description
     
31.1   Certification of Principal Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.
     
31.2  

Certification of Principal Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

     
31.3  

Certification of the Principal Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.

     
32.1   Certification of the Principal Executive Officers and Principal Financial Officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002.
     
101.INS   XBRL Instance Document
     
101.SCH   XBRL Taxonomy Extension Schema Document
     
101.CAL   XBRL Taxonomy Extension Calculation 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

 

Cover Page Interactive Data File (embedded within the Inline XBRL document)

 

  10 

 

 

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.

 

  VIRTRA, INC.
     
Date: August 11, 2022 By: /s/ Robert D. Ferris
    Robert D. Ferris
    Co-Chief Executive Officer and President
    (principal executive officer)
     
  By: /s/ John F. Givens II
    John F. Givens II
    Co-Chief Executive Officer
    (principal executive officer)
     
  By: /s/ Marsha J. Foxx
    Marsha J. Foxx,
    Chief Accounting Officer
    (principal financial and principal accounting officer)

 

  11 

EX-31.1 2 ex31-1.htm

 

Exhibit 31.1

 

CERTIFICATIONS

 

I, Robert D. Ferris, certify that:

 

1. I have reviewed this quarterly report on Form 10-Q for the quarterly period ended March 31, 2022 of VirTra, Inc.;

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

5. The registrant’s other certifying officer(s) 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 11, 2022 /s/ Robert D. Ferris
  Robert D. Ferris
  Co-Chief Executive Officer and President (principal executive officer)

 

 

EX-31.2 3 ex31-2.htm

 

Exhibit 31.2

 

CERTIFICATIONS

 

I, John F. Givens II, certify that:

 

b. I have reviewed this quarterly report on Form 10-Q for the quarterly period ended March 31, 2022 of VirTra, Inc.;

 

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

 

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

 

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

 

  (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;

 

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

 

I 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(s) 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):

 

  (b) 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 11, 2022 /s/ John F. Givens II
  John F. Givens II
  Co-Chief Executive Officer (principal executive officer)

 

 

 

EX-31.3 4 ex31-3.htm

 

Exhibit 31.3

 

CERTIFICATIONS

 

I, Marsha J. Foxx, certify that:

 

1. I have reviewed this quarterly report on Form 10-Q for the quarterly period ended March 31, 2022 of VirTra, Inc.;

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

5. The registrant’s other certifying officer(s) 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 11, 2022 /s/ Marsha J. Foxx
  Marsha J. Foxx
  Chief Accounting Officer (principal financial officer)

 

 

EX-32.1 5 ex32-1.htm

 

Exhibit 32.1

 

CERTIFICATION

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

AS ADOPTED PURSUANT TO SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002

 

In connection with the quarterly report on Form 10-Q of VirTra, Inc. (the “Company”) for the quarter ended March 31, 2022 as filed with the Securities and Exchange Commission (the “Report”), each of the undersigned, Robert D. Ferris, Chief Executive Officer and President of the Company, John F. Givens,II, Co-Chief Executive Officer, and Marsha J. Foxx, Chief Accounting Officer of the Company, 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 the best of my 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 result of operations of the Company.

 

Date: August 11, 2022 /s/ Robert D. Ferris
  Robert D. Ferris, Co-Chief Executive Officer and President (principal executive officer)
   
Date: August 11, 2022 /s/ John F. Givens II
  John F. Givens II, Co-Chief Executive Officer (principal executive officer)
   
Date: August 11, 2022 /s/ Marsha J. Foxx
  Marsha J. Foxx, Chief Accounting Officer (principal financial officer)

 

 

EX-101.SCH 6 vtsi-20220331.xsd XBRL SCHEMA FILE 00000001 - Document - Cover link:presentationLink link:calculationLink link:definitionLink 00000002 - Statement - Balance Sheets link:presentationLink link:calculationLink link:definitionLink 00000003 - Statement - Balance Sheets (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00000004 - Statement - Statements of Operations (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00000005 - Statement - Statements of Changes in Stockholders' Equity (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00000006 - Statement - Statements of Cash Flows (Unaudited) link:presentationLink link:calculationLink link:definitionLink 00000007 - Disclosure - Organization and Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 00000008 - Disclosure - Inventory link:presentationLink link:calculationLink link:definitionLink 00000009 - Disclosure - Property and Equipment link:presentationLink link:calculationLink link:definitionLink 00000010 - Disclosure - Intangible Asset link:presentationLink link:calculationLink link:definitionLink 00000011 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 00000012 - Disclosure - Accrued Expenses link:presentationLink link:calculationLink link:definitionLink 00000013 - Disclosure - Note Payable link:presentationLink link:calculationLink link:definitionLink 00000014 - Disclosure - Related Party Transactions link:presentationLink link:calculationLink link:definitionLink 00000015 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 00000016 - Disclosure - Stockholders’ Equity link:presentationLink link:calculationLink link:definitionLink 00000017 - Disclosure - Subsequent Events link:presentationLink link:calculationLink link:definitionLink 00000018 - Disclosure - Organization and Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 00000019 - Disclosure - Organization and Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 00000020 - Disclosure - Inventory (Tables) link:presentationLink link:calculationLink link:definitionLink 00000021 - Disclosure - Property and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 00000022 - Disclosure - Intangible Asset (Tables) link:presentationLink link:calculationLink link:definitionLink 00000023 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 00000024 - Disclosure - Accrued Expenses (Tables) link:presentationLink link:calculationLink link:definitionLink 00000025 - Disclosure - Note Payable (Tables) link:presentationLink link:calculationLink link:definitionLink 00000026 - Disclosure - Stockholders’ Equity (Tables) link:presentationLink link:calculationLink link:definitionLink 00000027 - Disclosure - Schedule of Disaggregation of Revenues (Details) link:presentationLink link:calculationLink link:definitionLink 00000028 - Disclosure - Schedule of Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 00000029 - Disclosure - Organization and Significant Accounting Policies (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000030 - Disclosure - Schedule of Inventory (Details) link:presentationLink link:calculationLink link:definitionLink 00000031 - Disclosure - Inventory (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000032 - Disclosure - Schedule of Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 00000033 - Disclosure - Property and Equipment (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000034 - Disclosure - Schedule of Intangible Asset (Details) link:presentationLink link:calculationLink link:definitionLink 00000035 - Disclosure - Intangible Asset (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000036 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 00000037 - Disclosure - Schedule of Future Minimum Lease Payments (Details) link:presentationLink link:calculationLink link:definitionLink 00000038 - Disclosure - Leases (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000039 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details) link:presentationLink link:calculationLink link:definitionLink 00000040 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 00000041 - Disclosure - Schedule of Notes Payable (Details) link:presentationLink link:calculationLink link:definitionLink 00000042 - Disclosure - Note Payable (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000043 - Disclosure - Related Party Transactions (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000044 - Disclosure - Commitments and Contingencies (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000045 - Disclosure - Schedule of Non-qualified Stock Options (Details) link:presentationLink link:calculationLink link:definitionLink 00000046 - Disclosure - Stockholders’ Equity (Details Narrative) link:presentationLink link:calculationLink link:definitionLink 00000047 - Disclosure - Subsequent Events (Details Narrative) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 vtsi-20220331_cal.xml XBRL CALCULATION FILE EX-101.DEF 8 vtsi-20220331_def.xml XBRL DEFINITION FILE EX-101.LAB 9 vtsi-20220331_lab.xml XBRL LABEL FILE Entity Addresses, Address Type [Axis] Former Address [Member] Class of Stock [Axis] Common Class A [Member] Common Class B [Member] Product and Service [Axis] Net Sales [Member] Equity Components [Axis] Preferred Stock [Member] Common Stock [Member] Additional Paid-in Capital [Member] Treasury Stock [Member] Retained Earnings [Member] Geographical [Axis] Commercial [Member] Government [Member] Geographic Distribution, Foreign [Member] Concentration Risk Benchmark [Axis] Revenue from Contract with Customer Benchmark [Member] Concentration Risk Type [Axis] Customer Concentration Risk [Member] Customer [Axis] Government Customers [Member] Commercial Customers [Member] International Customers [Member] Income Statement Location [Axis] Deferred Revenue [Member] Change in Accounting Estimate by Type [Axis] Warranty [Member] Award Date [Axis] One Year or Less [Member] Longer Than One Year [Member] One Year [Member] Revenue from Contract with Customer, Product and Service Benchmark [Member] One Commercial Customer [Member] One Federal Agency [Member] One Foreign Agency [Member] One State Agency [Member] Accounts Receivable [Member] Balance Sheet Location [Axis] Spare Parts [Member] Long-Lived Tangible Asset [Axis] Land [Member] Building and Building Improvements [Member] Computer Equipment [Member] Furniture and Office Equipment [Member] Machinery and Equipment [Member] STEP Equipment [Member] Leasehold Improvements [Member] Construction in Progress [Member] Finite-Lived Intangible Assets by Major Class [Axis] Patents [Member] Capitalized Media Content [Member] Acquired Lease Intangible Assets [Member] Property [Member] Legal Entity [Axis] Arizona Bank and Trust [Member] Debt Instrument [Axis] 199 Regular Monthly Payments [Member] One Irregular Payment [Member] Short-Term Debt, Type [Axis] Notes Payable [Member] Long-Term Debt, Type [Axis] Title of Individual [Axis] Chief Executive Officer and Chief Operating Officer [Member] One Member Of The Board Of Directors [Member] Chief Executive Officer [Member] Award Type [Axis] Restricted Stock Units (RSUs) [Member] Chief Operating Officer [Member] Vesting [Axis] Tranche [Member] June 30, 2022 [Member] Deferred Bonus and Profit Sharing Arrangements, Individual Contracts, Type of Deferred Compensation [Axis] Deferred Profit Sharing [Member] Statistical Measurement [Axis] Maximum [Member] Plan Name [Axis] 2017 Equity Incentive Plan [Member] Derivative Instrument [Axis] Non Qualified Stock Option [Member] Subsequent Event Type [Axis] Subsequent Event [Member] Mr.Givens [Member] Entity Addresses [Table] Entity Addresses [Line Items] Document Type Amendment Flag Amendment Description Document Registration Statement Document Annual Report Document Quarterly Report Document Transition Report Document Shell Company Report Document Shell Company Event Date Document Period Start Date Document Period End Date Document Fiscal Period Focus Document Fiscal Year Focus Current Fiscal Year End Date Entity File Number Entity Registrant Name Entity Central Index Key Entity Primary SIC Number Entity Tax Identification Number Entity Incorporation, State or Country Code Entity Address, Address Line One Entity Address, Address Line Two Entity Address, Address Line Three Entity Address, City or Town Entity Address, State or Province Entity Address, Country Entity Address, Postal Zip Code Country Region City Area Code Local Phone Number Extension Written Communications Soliciting Material Pre-commencement Tender Offer Pre-commencement Issuer Tender Offer Title of 12(b) Security No Trading Symbol Flag Trading Symbol Security Exchange Name Title of 12(g) Security Security Reporting Obligation Annual Information Form Audited Annual Financial Statements Entity Well-known Seasoned Issuer Entity Voluntary Filers Entity Current Reporting Status Entity Interactive Data Current Entity Filer Category Entity Small Business Entity Emerging Growth Company Elected Not To Use the Extended Transition Period Document Accounting Standard Other Reporting Standard Item Number Entity Shell Company Entity Public Float Entity Bankruptcy Proceedings, Reporting Current Entity Common Stock, Shares Outstanding Documents Incorporated by Reference [Text Block] Statement [Table] Statement [Line Items] ASSETS Current assets: Cash and cash equivalents Accounts receivable, net Inventory, net Unbilled revenue Prepaid expenses and other current assets Total current assets Long-term assets: Property and equipment, net Operating lease right-of-use asset, net Intangible assets, net Security deposits, long-term Other assets, long-term Deferred tax asset, net Total long-term assets Total assets LIABILITIES AND STOCKHOLDERS’ EQUITY Current liabilities: Accounts payable Accrued compensation and related costs Accrued expenses and other current liabilities Note payable, current Operating lease liability, short-term Deferred revenue, short-term Total current liabilities Long-term liabilities: Deferred revenue, long-term Note payable, long-term Operating lease liability, long-term Other long term liabilities Total long-term liabilities Total liabilities Commitments and contingencies (See Note 9) Stockholders’ equity: Preferred stock $0.0001 par value; 2,500,000 authorized; no shares issued or outstanding Common stock value Additional paid-in capital Retained earnings Total stockholders’ equity Total liabilities and stockholders’ equity Preferred stock, par value Preferred stock, shares authorized Preferred stock, shares issued Preferred stock, shares outstanding Common stock, par value Common stock, shares authorized Common stock, shares issued Common stock, shares outstanding Revenues: Total revenue Cost of sales Gross profit Operating expenses: General and administrative Research and development Net operating expense Income from operations Other income (expense): Other income Other expense Net other income (expense) Income before provision for income taxes Provision (Benefit) for income taxes Net income Net income (loss) per common share: Basic Diluted Weighted average shares outstanding: Basic Diluted Beginning balance, value Beginning balance, shares Stock options exercised Stock options exercised, shares Stock reserved for future services Net income Ending balance, value Ending balance, shares Statement of Cash Flows [Abstract] Cash flows from operating activities: Adjustments to reconcile net income to net cash (used in) provided by operating activities: Depreciation and amortization Right of use amortization Employee stock compensation Changes in operating assets and liabilities: Accounts receivable, net Inventory, net Unbilled revenue Deferred taxes Prepaid expenses and other current assets Other assets Security deposits, long-term Accounts payable and other accrued expenses Operating lease liability Deferred revenue Net cash used in operating activities Cash flows from investing activities: Purchase of intangible assets Purchase of property and equipment Net cash used in investing activities Cash flows from financing activities: Principal payments of debt Stock options exercised Note payable-PPP Loan Net cash used in financing activities Net decrease in cash and restricted cash Cash and restricted cash, beginning of period Cash and restricted cash, end of period Supplemental disclosure of cash flow information: Income taxes paid (refunded) Interest paid Supplemental disclosure of non-cash investing and financing activities: Conversion of inventory to property and equipment Accounting Policies [Abstract] Organization and Significant Accounting Policies Inventory Disclosure [Abstract] Inventory Property, Plant and Equipment [Abstract] Property and Equipment Goodwill and Intangible Assets Disclosure [Abstract] Intangible Asset Leases [Abstract] Leases Payables and Accruals [Abstract] Accrued Expenses Debt Disclosure [Abstract] Note Payable Related Party Transactions [Abstract] Related Party Transactions Commitments and Contingencies Disclosure [Abstract] Commitments and Contingencies Equity [Abstract] Stockholders’ Equity Subsequent Events [Abstract] Subsequent Events Organization and Business Operations Basis of Presentation Use of Estimates Revenue Recognition Disaggregation of Revenue Customer Deposits Warranty Concentration of Credit Risk and Major Customers and Suppliers Net Income (Loss)per Common Share Schedule of Disaggregation of Revenues Schedule of Earnings Per Share Schedule of Inventory Schedule of Property and Equipment Schedule of Intangible Asset Schedule of Balance Sheet Classification of Lease Assets and Liabilities Schedule of Future Minimum Lease Payments Schedule of Accrued Compensation and Related Costs Schedule of Accrued Expenses and Other Current Liabilities Schedule of Notes Payable Schedule of Non-qualified Stock Options Simulators and accessories Extended service-type warranties Customized software and content Installation and training Licensing and royalties Total Revenue Weighted average common stock outstanding Incremental shares from stock options Weighted average common stock outstanding diluted Schedule of Product Information [Table] Product Information [Line Items] Revenue Concentration of credit risk Customer deposits, current Extended warranties Revenue recognized FDIC insured amount Uninsured cash and cash equivalents Anti-dilutive securities excluded from computation of earnings per share Raw materials and work in process Reserve Total inventory Property, Plant and Equipment [Table] Property, Plant and Equipment [Line Items] Total property and equipment Less: Accumulated depreciation and amortization Property and equipment, net Depreciation expense Schedule of Finite-Lived Intangible Assets [Table] Finite-Lived Intangible Assets [Line Items] Total intangible assets Less accumulated amortization Intangible assets, net Amortization of intangible asset Operating lease right-of-use assets, beginning Amortization Total operating lease right-of-use asset, ending Operating lease liability, short-term Operating lease liability, long-term Total lease liabilities 2022 2023 2024 Total lease payments Less: imputed interest Operating lease liability Rent expenses Salaries and wages payable Employee benefits payable Accrued paid time off (PTO) Profit sharing payable Total accrued compensation and related costs Manufacturer’s warranties Taxes payable Miscellaneous payable Total accrued expenses and other current liabilities Schedule of Short-Term Debt [Table] Short-Term Debt [Line Items] Note payable, principal Accrued interest on note Note payable, short-term Note payable, long term Payment to acquire assets Proceeds from bank loan Debt instrument interest rate Debt instrument periodic payment Maturity date Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table] Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items] Stock reedemed or called during period shares Compensation expenses Stock issued during the period, new issues Stock option exercised Schedule of Share-Based Compensation Arrangements by Share-Based Payment Award [Table] Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items] Stock issued during period shares restricted stock, shares Net income loss Operating expenses Offsetting Assets [Table] Offsetting Assets [Line Items] Number of Stock Options, Options outstanding, beginning of year Weighted Exercise Price, Option outstanding, beginning of year Number of Stock Options, Granted Weighted Exercise Price, Granted Number of Stock Options, Redeemed Weighted Exercise Price, Redeemed Number of Stock Options, Exercised Weighted Exercise Price, Exercised Number of Stock Options, Expired / terminated Weighted Exercise Price, Expired / terminated Number of Stock Options, Options outstanding, end of period Weighted Exercise Price, Option outstanding end of period Number of Stock Options, Options exercisable, end of period Weighted Exercise Price, Options exercisable, end of period Schedule of Stock by Class [Table] Class of Stock [Line Items] Stock repurchased during period, value Options outstanding weighted average contractual term Options exercisable weighted average contractual term Exercisable and outstanding Intriinsic value Intriinsic value Proceeds from stock options exrercised Stock issued during period shares based compensation, shares Subsequent Event [Table] Subsequent Event [Line Items] Salaries wages and officers compensation Stock issued during period for signing bonus, shares Restricted stock units vesting, description Schedule Of Balance Sheet Classification Of Lease Assets And Liabilities Table Text Block Property [Member] Arizona Bank and Trust [Member] 199 Regular Monthly Payments [Member] One Irregular Payment [Member] Chief Executive Officer and Chief Operating Officer [Member] Conversion of inventory to propertyand equipment. One Member Of The Board Of Directors [Member] Adjustments to additional paid-in capital stock reserved for future services. Tranche [Member] June 30, 2022 [Member] Mr.Givens [Member] Non Qualified Stock Option [Member] Disaggregation Of Revenue [Policy Text Block] Number of options, redeemed. Weighted average exercise price, redeemed. Simulatorsand accessories revenue. Commercial [Member] Extended service-type warranties. Customized software and customized content scenarios. Installation and training. Licensing and royalties revenue. Government [Member] Government Customers [Member] Commercial Customers [Member] International Customers [Member] Share-based compensation arrangement by Share-based payment award, options, vested and expected to vest, exercisable and outstanding, aggregate intrinsic value. Deferred Revenue [Member] Warranty [Member] One Year or Less [Member] 2017 Equity Incentive Plan [Member] Longer Than One Year [Member] One Year [Member] One Commercial Customer [Member] One State Agency [Member] Spare Parts [Member] Organization And Business Operations [Policy Text Block] STEP Equipment [Member] Furniture and Office Equipment [Member] One Federal Agency [Member] One Foreign Agency [Member] Net Sales [Member] Capitalized Media Content [Member] Acquired Lease Intangible Assets [Member] Notes Payable [Member] Stock issued during period for signing bonus, shares. Assets, Current Assets, Noncurrent Assets Liabilities, Current Liabilities, Noncurrent Liabilities Stockholders' Equity Attributable to Parent Liabilities and Equity Gross Profit Operating Income (Loss) Other Nonoperating Expense Nonoperating Income (Expense) Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest Shares, Outstanding Increase (Decrease) in Accounts Receivable Increase (Decrease) in Inventories Increase (Decrease) in Deferred Revenue Increase (Decrease) in Deferred Income Taxes Increase (Decrease) in Prepaid Expense and Other Assets Increase (Decrease) in Other Operating Assets Increase (Decrease) in Deposit Assets Net Cash Provided by (Used in) Operating Activities Payments to Acquire Intangible Assets Net Cash Provided by (Used in) Investing Activities Repayments of Long-Term Debt Repayments of Notes Payable Net Cash Provided by (Used in) Financing Activities Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations Inventory Valuation Reserves Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment Finite-Lived Intangible Assets, Accumulated Amortization Operating Lease, Liability Lessee, Operating Lease, Liability, to be Paid Lessee, Operating Lease, Liability, Undiscounted Excess Amount Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Number Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price EX-101.PRE 10 vtsi-20220331_pre.xml XBRL PRESENTATION FILE XML 11 R1.htm IDEA: XBRL DOCUMENT v3.22.2
Cover - shares
3 Months Ended
Mar. 31, 2022
Aug. 04, 2022
Entity Addresses [Line Items]    
Document Type 10-Q  
Amendment Flag false  
Document Quarterly Report true  
Document Transition Report false  
Document Period End Date Mar. 31, 2022  
Document Fiscal Period Focus Q1  
Document Fiscal Year Focus 2022  
Current Fiscal Year End Date --12-31  
Entity File Number 001-38420  
Entity Registrant Name VIRTRA, INC.  
Entity Central Index Key 0001085243  
Entity Tax Identification Number 93-1207631  
Entity Incorporation, State or Country Code NV  
Entity Address, Address Line One 295 E. Corporate Place  
Entity Address, City or Town Chandler  
Entity Address, State or Province AZ  
Entity Address, Postal Zip Code 85225  
City Area Code (480)  
Local Phone Number 968-1488  
Title of 12(b) Security Common Stock $0.0001 par value  
Trading Symbol VTSI  
Security Exchange Name NASDAQ  
Entity Current Reporting Status No  
Entity Interactive Data Current No  
Entity Filer Category Non-accelerated Filer  
Entity Small Business true  
Entity Emerging Growth Company true  
Elected Not To Use the Extended Transition Period false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   17,200,133
Former Address [Member]    
Entity Addresses [Line Items]    
Entity Address, Address Line One 7970 S. Kyrene Road  
Entity Address, City or Town Tempe  
Entity Address, State or Province AZ  
Entity Address, Postal Zip Code 85284  
XML 12 R2.htm IDEA: XBRL DOCUMENT v3.22.2
Balance Sheets - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Current assets:    
Cash and cash equivalents $ 15,686,234 $ 19,708,565
Accounts receivable, net 5,139,012 3,896,739
Inventory, net 6,948,061 5,014,924
Unbilled revenue 5,834,406 3,946,446
Prepaid expenses and other current assets 961,278 940,887
Total current assets 34,568,991 33,507,561
Long-term assets:    
Property and equipment, net 13,474,263 12,864,766
Operating lease right-of-use asset, net 704,453 784,306
Intangible assets, net 566,159 535,079
Security deposits, long-term 19,712 19,712
Other assets, long-term 376,461 189,734
Deferred tax asset, net 1,737,444 1,674,234
Total long-term assets 16,878,492 16,067,831
Total assets 51,447,483 49,575,392
Current liabilities:    
Accounts payable 1,342,578 789,394
Accrued compensation and related costs 932,797 1,062,078
Accrued expenses and other current liabilities 1,172,589 991,744
Note payable, current 235,144 236,291
Operating lease liability, short-term 354,496 347,772
Deferred revenue, short-term 4,680,653 4,135,565
Total current liabilities 8,718,257 7,562,844
Long-term liabilities:    
Deferred revenue, long-term 2,245,856 1,992,625
Note payable, long-term 8,222,666 8,280,395
Operating lease liability, long-term 415,260 505,383
Other long term liabilities 5,436 5,436
Total long-term liabilities 10,889,218 10,783,839
Total liabilities 19,607,475 18,346,683
Commitments and contingencies (See Note 9)
Stockholders’ equity:    
Preferred stock $0.0001 par value; 2,500,000 authorized; no shares issued or outstanding
Common stock value 1,081 1,081
Additional paid-in capital 30,957,616 30,923,391
Retained earnings 881,311 304,237
Total stockholders’ equity 31,840,008 31,228,709
Total liabilities and stockholders’ equity 51,447,483 49,575,392
Common Class A [Member]    
Stockholders’ equity:    
Common stock value
Common Class B [Member]    
Stockholders’ equity:    
Common stock value
XML 13 R3.htm IDEA: XBRL DOCUMENT v3.22.2
Balance Sheets (Parenthetical) - $ / shares
Mar. 31, 2022
Dec. 31, 2021
Preferred stock, par value $ 0.0001 $ 0.0001
Preferred stock, shares authorized 2,500,000 2,500,000
Preferred stock, shares issued 0 0
Preferred stock, shares outstanding 0 0
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 50,000,000 50,000,000
Common stock, shares issued 10,809,630 10,807,130
Common stock, shares outstanding 10,809,630 10,807,130
Common Class A [Member]    
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 2,500,000 2,500,000
Common stock, shares issued 0 0
Common stock, shares outstanding 0 0
Common Class B [Member]    
Common stock, par value $ 0.0001 $ 0.0001
Common stock, shares authorized 7,500,000 7,500,000
Common stock, shares issued 0 0
Common stock, shares outstanding 0 0
XML 14 R4.htm IDEA: XBRL DOCUMENT v3.22.2
Statements of Operations (Unaudited) - USD ($)
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Revenues:    
Total revenue $ 6,753,228 $ 4,441,909
Cost of sales 3,066,138 1,873,404
Gross profit 3,687,090 2,568,505
Operating expenses:    
General and administrative 2,296,392 1,710,233
Research and development 679,395 294,217
Net operating expense 2,975,787 2,004,450
Income from operations 711,303 564,055
Other income (expense):    
Other income 54,323 16,379
Other expense (64,552) (2,434)
Net other income (expense) (10,229) 13,945
Income before provision for income taxes 701,074 578,000
Provision (Benefit) for income taxes 124,000 (77,163)
Net income $ 577,074 $ 655,163
Net income (loss) per common share:    
Basic $ 0.05 $ 0.08
Diluted $ 0.05 $ 0.08
Weighted average shares outstanding:    
Basic 10,807,269 7,775,212
Diluted 10,850,376 7,835,830
Net Sales [Member]    
Revenues:    
Total revenue $ 6,753,228 $ 4,441,909
XML 15 R5.htm IDEA: XBRL DOCUMENT v3.22.2
Statements of Changes in Stockholders' Equity (Unaudited) - USD ($)
Preferred Stock [Member]
Common Stock [Member]
Additional Paid-in Capital [Member]
Treasury Stock [Member]
Retained Earnings [Member]
Total
Beginning balance, value at Dec. 31, 2020 $ 778 $ 13,893,660 $ (2,235,852) $ 11,658,586
Beginning balance, shares at Dec. 31, 2020 7,745,030        
Stock options exercised 3,620 3,620
Stock options exercised, shares   2,500        
Net income 655,163 655,163
Ending balance, value at Mar. 31, 2021 $ 778 13,897,280 (1,580,689) 12,317,369
Ending balance, shares at Mar. 31, 2021 7,747,530        
Beginning balance, value at Dec. 31, 2021 $ 1,081 30,923,391 304,237 31,228,709
Beginning balance, shares at Dec. 31, 2021 10,807,130        
Stock options exercised 7,975 7,975
Stock options exercised, shares   2,500        
Stock reserved for future services 26,250 26,250
Net income 577,074 577,074
Ending balance, value at Mar. 31, 2022 $ 1,081 $ 30,957,616 $ 881,311 $ 31,840,008
Ending balance, shares at Mar. 31, 2022 10,809,630        
XML 16 R6.htm IDEA: XBRL DOCUMENT v3.22.2
Statements of Cash Flows (Unaudited) - USD ($)
3 Months Ended 12 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Dec. 31, 2021
Cash flows from operating activities:      
Net income $ 577,074 $ 655,163  
Adjustments to reconcile net income to net cash (used in) provided by operating activities:      
Depreciation and amortization 215,746 97,290  
Right of use amortization 79,853 76,209 $ 310,221
Employee stock compensation 26,250  
Changes in operating assets and liabilities:      
Accounts receivable, net (1,242,273) (1,271,775)  
Inventory, net (1,933,137) (675,480)  
Unbilled revenue (1,887,960) (850,422)  
Deferred taxes (63,210)  
Prepaid expenses and other current assets (20,391) (321,781)  
Other assets (186,727)  
Security deposits, long-term 66,788  
Accounts payable and other accrued expenses 603,601 777,457  
Operating lease liability (83,399) (77,077)  
Deferred revenue 798,319 (224,800)  
Net cash used in operating activities (3,116,254) (1,748,428)  
Cash flows from investing activities:      
Purchase of intangible assets (51,644) (48,205)  
Purchase of property and equipment (804,433)  
Net cash used in investing activities (856,077) (48,205)  
Cash flows from financing activities:      
Principal payments of debt (57,975)  
Stock options exercised 7,975 3,620  
Note payable-PPP Loan (8,566)  
Net cash used in financing activities (50,000) (4,946)  
Net decrease in cash and restricted cash (4,022,331) (1,801,579)  
Cash and restricted cash, beginning of period 19,708,565 6,841,984 6,841,984
Cash and restricted cash, end of period 15,686,234 5,040,405 $ 19,708,565
Supplemental disclosure of cash flow information:      
Income taxes paid (refunded) 99,035 (77,163)  
Interest paid 63,776 2,434  
Supplemental disclosure of non-cash investing and financing activities:      
Conversion of inventory to property and equipment $ 75,976  
XML 17 R7.htm IDEA: XBRL DOCUMENT v3.22.2
Organization and Significant Accounting Policies
3 Months Ended
Mar. 31, 2022
Accounting Policies [Abstract]  
Organization and Significant Accounting Policies

Note 1. Organization and Significant Accounting Policies

 

Organization and Business Operations

 

VirTra, Inc. (the “Company,” “VirTra,” “we,” “us” or “our”), located in Chandler, Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for the law enforcement, military, educational and commercial markets. The Company’s patented technologies, software, and scenarios provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations. VirTra’s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology. The Company sells its products worldwide through a direct sales force and international distribution partners. The original business started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become VirTra, Inc., a Nevada corporation.

 

During March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy. On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March, with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona’s Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently. While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic on the Company’s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S. and global markets resulting from COVID-19. Additionally, the Company’s stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.

 

The Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.

 

Basis of Presentation

 

The unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and should be read in conjunction with our audited financial statements for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted as permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.

 

The accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our financial position at March 31, 2022 and the results of our operations and cash flows for the periods presented. We derived the December 31, 2021 condensed balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.

 

 

Interim results are subject to seasonal variations, and the results of operations for the three months ended March 31, 2022 are not necessarily indicative of the results to be expected for the full year.

 

Use of Estimates

 

The preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts receivable, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets, income tax valuation allowances, and the allocation of the transaction price to the performance obligations in our contracts with customers.

 

Revenue Recognition

 

The Company adopted the Financial Accounting Standards Board’s (the “FASB”) Accounting Standards Codification (“ASC”) 606, Revenue from Contracts with Customer (Topic 606) (“ASC 606”) on January 1, 2018 and the Company elected to use the modified retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption of ASC 606 did not have a material impact on the financial statements.

 

Under ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as) the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.

 

The Company’s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable software and the sale of extended service-type warranties. The Company’s policy is to typically invoice upon completion of installation and/or training, until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of revenue recognition:

 

Performance Obligation   Method of Recognition
     
Simulator and accessories   Upon transfer of control
     
Installation and training   Upon completion or over the period of services being rendered
     
Extended service-type warranty   Deferred and recognized over the life of the extended warranty
     
Customized software and content   Upon transfer of control or over the period services are performed depending on the terms of the contract
     
Customized content scenario   As performance obligation is transferred over time (input method using time and materials expanded)
     
Sales-based royalty exchanged for license of intellectual property   Recognized as the performance obligation is satisfied over time – which is as the sales occur.

 

 

The Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation and training and customized software performance obligations as the customer has the right and ability to direct the use of these products and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract. For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.

 

The Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties as these warranties represent a performance obligation to “stand ready to perform” over the duration of the warranties. As such, the warranty service is performed continuously over the warranty period.

 

Each contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract’s transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone selling prices, if any, are allocated proportionately to each performance obligation.

 

Disaggregation of Revenue

 

Under ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation disclosure by customer’s location and performance obligation.

 

Disaggregation of Revenue

  

   Three Months Ended March 31, 
   2022   2021 
   Commercial   Government   International   Total   Commercial   Government   International   Total 
Simulators and accessories  $1,580,192   $3,224,558   $906,636   $5,711,386   $273,796   $1,677,923   $1,077,185   $3,028,904 
Extended service-type warranties   31,487    620,361    17,662    669,510    22,074    670,584    20,050    712,708 
Customized software and content   -    51,714    83,000    134,714    -    467,413    52,273    519,686 
Installation and training   11,865    157,553    68,200    237,618    32,663    119,798    26,350    178,811 
Licensing and royalities   -    -    -    -    1,800    -    -    1,800 
Total Revenue  $1,623,544   $4,054,186   $1,075,498   $6,753,228   $330,333   $2,935,718   $1,175,858   $4,441,909 

 

For the three months ended March 31, 2022, governmental customers comprised $4,054,186, or 60% of total net sales, commercial customers comprised $1,623,544, or 24% of total net sales, and international customers comprised $1,075,498, or 16% of total net sales. By comparison, for the three months ended March 31, 2021, governmental customers comprised $2,935,718, or 66% of total net sales, commercial customers comprised $330,333, or 7% of total net sales, and international customers comprised $1,175,858, or 27% of total net sales.

 

Customer Deposits

 

Customer deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (“STEP”) operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer’s contract performance obligation. When revenue is recognized, the deposit is applied to customer’s receivable balance. Customer deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totaled $3,289,067 and $2,371,531 at March 31, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate from year to year based upon the mix of customers required to prepay deposits under the Company’s credit policy.

 

Warranty

 

The Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty. During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship, the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totaled $1,391,586 and $1,764,034 as of March 31, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties longer than one year totaled $2,089,195 and $1,815,871 as of March 31, 2022 and December 31, 2021, respectively. The accrual for the one-year manufacturer’s warranty liability totaled $385,000 and $384,000 as of March 31, 2022 and December 31, 2021, respectively. During the three months ended March 31, 2022 and 2021, the Company recognized revenue of $669,510 and $712,708, respectively, related to the extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of the warranties at the beginning of the period and new extended service-type warranties sold during the period.

 

 

Concentration of Credit Risk and Major Customers and Suppliers

 

Financial instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates of deposit, accounts receivable and notes receivable.

 

The Company’s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the accounts are titled. The standard deposit insurance coverage limit is $250,000 per depositor, per FDIC-insured bank, per ownership category. The Company had uninsured cash and cash equivalents of $15,184,899 and $19,207,786 as of March 31, 2022 and December 31, 2021, respectively.

 

Most sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs ongoing credit evaluations of its customers’ financial condition and maintains an allowance for estimated losses. Historically, the Company has experienced minimal charges relative to doubtful accounts.

 

Historically, the Company primarily sells its products to United States federal and state agencies. For the three months ended March 31, 2022, one foreign agency comprised 16% of total net sales. By comparison, for the three months ended March 31, 2021, one federal agency comprised 10% and one foreign agency comprised 22% of total net sales.

 

As of March 31, 2022, one federal agency comprised 14% of total accounts receivable. By comparison, as of December 31, 2021, the Company did not have any customer that accounted for more than 10% of total accounts receivable.

 

Net Income (Loss)per Common Share

 

The net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants were exercised. Earnings per share computations are as follows:

Schedule of Earnings Per Share

   2022   2021 
   Three Months Ended March 31, 
   2022   2021 
Net income  $577,074   $655,163 
           
Weighted average common stock outstanding   10,807,269    7,775,212 
Incremental shares from stock options   43,107    60,618 
Weighted average common stock outstanding diluted   10,850,376    7,835,830 
Net income per common share and common equivalent shares          
Basic  $0.05   $0.08 
Diluted  $0.05   $0.08 

 

The Company has potentially dilutive securities outstanding that are not included in the diluted earnings per share calculation for the three months ended March 31, 2022 and 2021 because their effect would be anti-dilutive. These potentially dilutive securities, comprised entirely of the Company’s stock options, totaled 0 for the three months ended March 31, 2022 and 2021, respectively.

 

XML 18 R8.htm IDEA: XBRL DOCUMENT v3.22.2
Inventory
3 Months Ended
Mar. 31, 2022
Inventory Disclosure [Abstract]  
Inventory

Note 2. Inventory

 

Inventory consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
         
Raw materials and work in process  $7,250,492   $5,229,636 
Reserve   (302,431)   (214,712)
           
Total inventory  $6,948,061   $5,014,924 

 

The Company regularly evaluates the useful life of its spare parts inventory and as a result, the Company classified $322,968 and $136,241 of spare parts as Other Assets, long-term on the Balance Sheet at March 31, 2022 and December 31, 2021, respectively.

 

 

XML 19 R9.htm IDEA: XBRL DOCUMENT v3.22.2
Property and Equipment
3 Months Ended
Mar. 31, 2022
Property, Plant and Equipment [Abstract]  
Property and Equipment

Note 3. Property and Equipment

 

Property and equipment consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
         
Land  $1,778,987   $1,778,987 
Building & Building Improvements   9,038,279    9,005,205 
Computer equipment   1,176,400    1,171,319 
Furniture and office equipment   262,814    262,814 
Machinery and equipment   2,447,373    1,970,007 
STEP equipment   1,572,228    1,496,252 
Leasehold improvements   334,934    334,934 
Construction in Progress   219,936    7,000 
           
Total property and equipment   16,830,951    16,026,518 
Less: Accumulated depreciation and amortization   (3,356,688)   (3,161,752)
           
Property and equipment, net  $13,474,263   $12,864,766 

 

Depreciation expense, including STEP depreciation, was $195,031 and $95,068 for the three months ended March 31, 2022 and 2021, respectively.

 

XML 20 R10.htm IDEA: XBRL DOCUMENT v3.22.2
Intangible Asset
3 Months Ended
Mar. 31, 2022
Goodwill and Intangible Assets Disclosure [Abstract]  
Intangible Asset

Note 4. Intangible Asset

 

Intangible asset consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
Patents  $160,000   $160,000 
Capitalized media content   382,872    331,228 
Acquired lease intangible assets   83,963    83,963 
           
Total intangible assets   626,835    575,191 
Less accumulated amortization   (60,676)   (40,112)
           
Intangible assets, net  $566,159   $535,079 

 

Amortization expense was $20,564 and $2,222 for the three months ended March 31, 2022 and 2021, respectively.

 

XML 21 R11.htm IDEA: XBRL DOCUMENT v3.22.2
Leases
3 Months Ended
Mar. 31, 2022
Leases [Abstract]  
Leases

Note 5. Leases

 

The balance sheet classification of lease assets and liabilities as of March 31, 2022 was as follows:

 

      
Balance Sheet Classification  March 31, 2022 
Assets     
Operating lease right-of-use assets, December 31, 2021  $784,306 
Amortization for the three months ended March 31, 2022   (79,853)
Total operating lease right-of-use asset, March 31, 2022  $704,453 
Liabilities     
Current     
Operating lease liability, short-term  $354,496 
Non-current     
Operating lease liability, long-term   415,260 
Total lease liabilities  $769,756 

 

 

Future minimum lease payments as of March 31, 2022 under non-cancelable operating leases are as follows:

  

       
2022   $286,412 
2023    390,562 
2024    131,152 
       
Total lease payments    808,126 
Less: imputed interest    (38,370)
Operating lease liability   $769,756 

 

 

The balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:

 

      
Balance Sheet Classification  December 31, 2021 
Assets     
Operating lease right-of-use assets, December 31, 2020  $1,094,527 
Amortization for the year ended December 31, 2021   (310,221)
Total operating lease right-of-use asset, December 31, 2021  $784,306 
Liabilities     
Current     
Operating lease liability, short-term  $347,772 
Non-current     
Operating lease liability, long-term   505,383 
Total lease liabilities  $853,155 

 

Future minimum lease payments as of December 31, 2021 under non-cancelable operating leases are as follows:

 

       
2022   $379,097 
2023    390,562 
2024    131,152 
       
Total lease payments    900,811 
Less: imputed interest    (47,656)
Operating lease liability   $853,155 

 

Rent expense for the three months ended March 31, 2022 and 2021 was $209,252 and $143,757, respectively.

 

XML 22 R12.htm IDEA: XBRL DOCUMENT v3.22.2
Accrued Expenses
3 Months Ended
Mar. 31, 2022
Payables and Accruals [Abstract]  
Accrued Expenses

Note 6. Accrued Expenses

 

Accrued compensation and related costs consisted of the following as of:

 

           
   March 31, 2022   December 31, 2021 
         
Salaries and wages payable  $161,972   $422,562 
Employee benefits payable   27,991    16,523 
Accrued paid time off (PTO)   528,152    483,311 
Profit sharing payable   214,682    139,682 
           
Total accrued compensation and related costs  $932,797   $1,062,078 

 

 

Accrued expenses and other current liabilities consisted of the following as of:

 

           
   March 31, 2022   December 31, 2021 
         
Manufacturer’s warranties  $385,000   $384,000 
Taxes payable   276,754    113,921 
Miscellaneous payable   510,835    493,823 
           
Total accrued expenses and other current liabilities  $1,172,589   $991,744 

 

XML 23 R13.htm IDEA: XBRL DOCUMENT v3.22.2
Note Payable
3 Months Ended
Mar. 31, 2022
Debt Disclosure [Abstract]  
Note Payable

Note 7. Note Payable

 

On August 25, 2021, the Company completed the purchase of real property located in Chandler, Arizona (the “Property”) for $10,800,000, paid with cash and proceeds from a mortgage loan from Arizona Bank & Trust in the amount of $8,600,000. The loan terms include interest to be accrued at a fixed rate of 3% per year, 119 regular monthly payments of $40,978, and one irregular payment of $5,956,538 due on the maturity date of August 23, 2031. The Company began making monthly payments on September 23, 2021. The payment and performance of the loan is secured by a security interest in the property acquired.

 

The note payable amounts consist of the following:

 

           
   March 31, 2022   December 31, 2021 
         
Short-term liabilities:          
Note payable, principal  $230,689   $231,871 
Accrued interest on note   4,455    4,420 
           
Note payable, short-term  $235,144   $236,291 
           
Long-term liabilities:          
Note payable, principal  $8,222,666   $8,280,395 
           
Note payable, long term  $8,222,666   $8,280,395 

 

XML 24 R14.htm IDEA: XBRL DOCUMENT v3.22.2
Related Party Transactions
3 Months Ended
Mar. 31, 2022
Related Party Transactions [Abstract]  
Related Party Transactions

Note 8. Related Party Transactions

 

During the three months ended March 31, 2022 and 2021, the Company redeemed 8,750 and 8,750 previously awarded stock options nearing expiration from the Company’s CEO and COO. The redemption eliminated the stock options and resulted in a total of $24,150 and $57,067 in additional compensation expense in 2022 and 2021, respectively.

 

During the three months ended March 31, 2022 and 2021, the Company issued 2,500 and 2,500 shares of common stock, $0.0001 par value per share (the “Common Stock”), to one member of the Board of Directors for previously awarded stock options at an exercise price of $7,975 and $3,620, respectively.

 

 

XML 25 R15.htm IDEA: XBRL DOCUMENT v3.22.2
Commitments and Contingencies
3 Months Ended
Mar. 31, 2022
Commitments and Contingencies Disclosure [Abstract]  
Commitments and Contingencies

Note 9. Commitments and Contingencies

 

General or Threatened Litigation

 

From time to time, the Company is notified of threatened litigation or that a claim is being made against it. The Company evaluates contingencies on an on-going basis and has established loss provisions for matters in which losses are probable and the amount of loss can be reasonably estimated. There is no threatened litigation at this time.

 

Restricted Stock Unit Grants

 

The Company granted 224,133 and 168,090 performance-based restricted stock units (“RSUs”) in August 2021 to its Chief Executive Officer and Chief Operating Officer, respectively. It is the Company’s policy to estimate the fair value of the RSU’s on the date of the grant and evaluate the probability of achieving the net profit (net income under GAAP) tranches quarterly. If the target is deemed probable, the expense is amortized on a straight-line basis over the remaining time period. The Company determined based on the vesting terms described above that the net profit (net income under GAAP) for the twelve months ending June 30, 2022, of $2,500,000 is probable, the expense for the three months ending March 31, 2022, was $26,250.

 

Profit Sharing

 

VirTra provides a discretionary profit-sharing program that pays out a percentage of Company profits each year as a cash bonus to eligible employees. The cash payment is typically split into two equal payments and distributed pro-rata in April and October of the following year to only active employees. For the three months ended March 31, 2022, the amount expensed to operations was $75,000. For the three months ended March 31, 2021, no amount was credited to operations due to uncertainty related to on-going COVID restrictions.

 

XML 26 R16.htm IDEA: XBRL DOCUMENT v3.22.2
Stockholders’ Equity
3 Months Ended
Mar. 31, 2022
Equity [Abstract]  
Stockholders’ Equity

Note 10. Stockholders’ Equity

 

Stock Repurchase

 

On October 25, 2016, the Company’s Board of Directors authorized the repurchase of up to $1 million of its common stock under Rule 10b-18 promulgated under the Securities Exchange Act of 1934, as amended. Purchases made pursuant to this authorization will be made in the open market, in privately negotiated transactions, or pursuant to any trading plan that may be adopted in accordance with the Rule 10b-18. The timing, manner, price and amount of any repurchases will be determined by the Company in its discretion and will be subject to economic and market conditions, stock price, applicable legal requirements and other factors. On January 9, 2019, VirTra’s Board of Directors authorized an additional $1 million be allocated for the repurchase of VirTra’s stock under the existing 10b-18 plan. The stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect until the PPP loan was forgiven on July 20, 2021, and has continued to remain in effect.

 

Treasury Stock

 

During the three months ended March 31, 2022, the Company purchased no additional treasury shares.

 

 

Non-qualified Stock Options

 

The Company has periodically issued non-qualified stock options to key employees, officers and directors under a stock option compensation plan approved by the Board of Directors in 2009. Terms of option grants are at the discretion of the Board of Directors and are generally seven years. Upon the exercise of these options, the Company expects to issue new authorized shares of its common stock. The following table summarizes all non-qualified stock options as of:

 

   March 31, 2022   March 31, 2021 
   Number of   Weighted   Number of   Weighted 
  

Stock

Options

  

Exercise

Price

  

Stock

Options

  

Exercise

Price

 
Options outstanding, beginning of year   112,500   $3.51    164,167   $3.13 
Granted   -    -    -    - 
Redeemed   (8,750)   3.19    (8,750)   1.45 
Exercised   (2,500)   3.19    (2,500)   1.45 
Expired / terminated   -    -    -    - 
Options outstanding, end of period   101,250   $3.55    152,917   $3.25 
Options exercisable, end of period   101,250   $3.55    152,917   $3.25 

 

The Company did not have any non-vested stock options outstanding as of March 31, 2022 and December 31, 2021. The weighted average contractual term for options outstanding and exercisable at March 31, 2022 and 2021 was 7 years. The aggregate intrinsic value of the options outstanding and exercisable at March 31, 2022 and 2021 was $258,077 and $443,036, respectively. The total intrinsic value of options exercised and redeemed during the three months ended March 31, 2022 and 2021 was $30,675 and $52,898, respectively. For the three months ended March 31, 2022 and 2021, the Company received payments related to the exercise of options in the amount of $7,975 and $3,620, respectively. The aggregate intrinsic value is calculated as the difference between the exercise price of the underlying options and the fair value of the Company’s common stock for those stock options that have an exercise price lower than the fair value of the Company’s common stock. Options with an exercise price above the fair value of the Company’s common stock are considered to have no intrinsic value.

 

2017 Equity Incentive Plan

 

Through March 31, 2022, 224,133 and 168,090 restricted stock awards and 14,057 and 10,543 restricted shares have been granted under the Equity Plan to the Company’s CEO and COO, respectively.

 

XML 27 R17.htm IDEA: XBRL DOCUMENT v3.22.2
Subsequent Events
3 Months Ended
Mar. 31, 2022
Subsequent Events [Abstract]  
Subsequent Events

Note 11. Subsequent Events

 

On May 2, 2022, VirTra, Inc. announced the appointment of John F. Givens II as its co-Chief Executive Officer, effective April 11, 2022. Mr. Givens has been serving as a director of VirTra since November 2020.

 

VirTra has agreed to pay Mr. Givens an initial annual base salary of $298,990, subject to annual review. VirTra issued Mr. Givens a signing bonus of 64,815 shares of common stock which are restricted from transfer until the earlier of: i) 12 months of employment having lapsed or ii) the Company terminating employment with Mr. Givens without cause.

 

Mr. Givens was also granted 288,889 performance-based restricted stock units pursuant to VirTra’s 2017 Equity Incentive Plan. Beginning on the last business day of August 2022, a tranche of restricted stock units, having an approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.

 

The vesting schedule notwithstanding, the Compensation Committee shall have the discretion to declare the vesting of any number of restricted stock units should the Company experience unusual results of operations, such as falling below the net profit threshold one year and exceeding the maximum net profit the following year, so long as the total number of restricted stock units declared to be vested does not exceed the amount awarded. Additionally, while a maximum net profit per year has been set for allocation of the available shares at this time, it is very possible that the Company will exceed these levels during the next 3 years and if such performance occurs, the Compensation Committee will meet to determine if additional compensation is in the best interests of the Company at that time.

XML 28 R18.htm IDEA: XBRL DOCUMENT v3.22.2
Organization and Significant Accounting Policies (Policies)
3 Months Ended
Mar. 31, 2022
Accounting Policies [Abstract]  
Organization and Business Operations

Organization and Business Operations

 

VirTra, Inc. (the “Company,” “VirTra,” “we,” “us” or “our”), located in Chandler, Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for the law enforcement, military, educational and commercial markets. The Company’s patented technologies, software, and scenarios provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations. VirTra’s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology. The Company sells its products worldwide through a direct sales force and international distribution partners. The original business started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become VirTra, Inc., a Nevada corporation.

 

During March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy. On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March, with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona’s Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently. While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic on the Company’s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S. and global markets resulting from COVID-19. Additionally, the Company’s stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.

 

The Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.

 

Basis of Presentation

Basis of Presentation

 

The unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and should be read in conjunction with our audited financial statements for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted as permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.

 

The accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our financial position at March 31, 2022 and the results of our operations and cash flows for the periods presented. We derived the December 31, 2021 condensed balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.

 

 

Interim results are subject to seasonal variations, and the results of operations for the three months ended March 31, 2022 are not necessarily indicative of the results to be expected for the full year.

 

Use of Estimates

Use of Estimates

 

The preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts receivable, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets, income tax valuation allowances, and the allocation of the transaction price to the performance obligations in our contracts with customers.

 

Revenue Recognition

Revenue Recognition

 

The Company adopted the Financial Accounting Standards Board’s (the “FASB”) Accounting Standards Codification (“ASC”) 606, Revenue from Contracts with Customer (Topic 606) (“ASC 606”) on January 1, 2018 and the Company elected to use the modified retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption of ASC 606 did not have a material impact on the financial statements.

 

Under ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as) the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.

 

The Company’s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable software and the sale of extended service-type warranties. The Company’s policy is to typically invoice upon completion of installation and/or training, until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of revenue recognition:

 

Performance Obligation   Method of Recognition
     
Simulator and accessories   Upon transfer of control
     
Installation and training   Upon completion or over the period of services being rendered
     
Extended service-type warranty   Deferred and recognized over the life of the extended warranty
     
Customized software and content   Upon transfer of control or over the period services are performed depending on the terms of the contract
     
Customized content scenario   As performance obligation is transferred over time (input method using time and materials expanded)
     
Sales-based royalty exchanged for license of intellectual property   Recognized as the performance obligation is satisfied over time – which is as the sales occur.

 

 

The Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation and training and customized software performance obligations as the customer has the right and ability to direct the use of these products and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract. For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.

 

The Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties as these warranties represent a performance obligation to “stand ready to perform” over the duration of the warranties. As such, the warranty service is performed continuously over the warranty period.

 

Each contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract’s transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone selling prices, if any, are allocated proportionately to each performance obligation.

 

Disaggregation of Revenue

Disaggregation of Revenue

 

Under ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation disclosure by customer’s location and performance obligation.

 

Disaggregation of Revenue

  

   Three Months Ended March 31, 
   2022   2021 
   Commercial   Government   International   Total   Commercial   Government   International   Total 
Simulators and accessories  $1,580,192   $3,224,558   $906,636   $5,711,386   $273,796   $1,677,923   $1,077,185   $3,028,904 
Extended service-type warranties   31,487    620,361    17,662    669,510    22,074    670,584    20,050    712,708 
Customized software and content   -    51,714    83,000    134,714    -    467,413    52,273    519,686 
Installation and training   11,865    157,553    68,200    237,618    32,663    119,798    26,350    178,811 
Licensing and royalities   -    -    -    -    1,800    -    -    1,800 
Total Revenue  $1,623,544   $4,054,186   $1,075,498   $6,753,228   $330,333   $2,935,718   $1,175,858   $4,441,909 

 

For the three months ended March 31, 2022, governmental customers comprised $4,054,186, or 60% of total net sales, commercial customers comprised $1,623,544, or 24% of total net sales, and international customers comprised $1,075,498, or 16% of total net sales. By comparison, for the three months ended March 31, 2021, governmental customers comprised $2,935,718, or 66% of total net sales, commercial customers comprised $330,333, or 7% of total net sales, and international customers comprised $1,175,858, or 27% of total net sales.

 

Customer Deposits

Customer Deposits

 

Customer deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (“STEP”) operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer’s contract performance obligation. When revenue is recognized, the deposit is applied to customer’s receivable balance. Customer deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totaled $3,289,067 and $2,371,531 at March 31, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate from year to year based upon the mix of customers required to prepay deposits under the Company’s credit policy.

 

Warranty

Warranty

 

The Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty. During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship, the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totaled $1,391,586 and $1,764,034 as of March 31, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties longer than one year totaled $2,089,195 and $1,815,871 as of March 31, 2022 and December 31, 2021, respectively. The accrual for the one-year manufacturer’s warranty liability totaled $385,000 and $384,000 as of March 31, 2022 and December 31, 2021, respectively. During the three months ended March 31, 2022 and 2021, the Company recognized revenue of $669,510 and $712,708, respectively, related to the extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of the warranties at the beginning of the period and new extended service-type warranties sold during the period.

 

 

Concentration of Credit Risk and Major Customers and Suppliers

Concentration of Credit Risk and Major Customers and Suppliers

 

Financial instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates of deposit, accounts receivable and notes receivable.

 

The Company’s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the accounts are titled. The standard deposit insurance coverage limit is $250,000 per depositor, per FDIC-insured bank, per ownership category. The Company had uninsured cash and cash equivalents of $15,184,899 and $19,207,786 as of March 31, 2022 and December 31, 2021, respectively.

 

Most sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs ongoing credit evaluations of its customers’ financial condition and maintains an allowance for estimated losses. Historically, the Company has experienced minimal charges relative to doubtful accounts.

 

Historically, the Company primarily sells its products to United States federal and state agencies. For the three months ended March 31, 2022, one foreign agency comprised 16% of total net sales. By comparison, for the three months ended March 31, 2021, one federal agency comprised 10% and one foreign agency comprised 22% of total net sales.

 

As of March 31, 2022, one federal agency comprised 14% of total accounts receivable. By comparison, as of December 31, 2021, the Company did not have any customer that accounted for more than 10% of total accounts receivable.

Net Income (Loss)per Common Share

Net Income (Loss)per Common Share

 

The net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants were exercised. Earnings per share computations are as follows:

Schedule of Earnings Per Share

   2022   2021 
   Three Months Ended March 31, 
   2022   2021 
Net income  $577,074   $655,163 
           
Weighted average common stock outstanding   10,807,269    7,775,212 
Incremental shares from stock options   43,107    60,618 
Weighted average common stock outstanding diluted   10,850,376    7,835,830 
Net income per common share and common equivalent shares          
Basic  $0.05   $0.08 
Diluted  $0.05   $0.08 

 

The Company has potentially dilutive securities outstanding that are not included in the diluted earnings per share calculation for the three months ended March 31, 2022 and 2021 because their effect would be anti-dilutive. These potentially dilutive securities, comprised entirely of the Company’s stock options, totaled 0 for the three months ended March 31, 2022 and 2021, respectively.

 

XML 29 R19.htm IDEA: XBRL DOCUMENT v3.22.2
Organization and Significant Accounting Policies (Tables)
3 Months Ended
Mar. 31, 2022
Accounting Policies [Abstract]  
Schedule of Disaggregation of Revenues

Under ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation disclosure by customer’s location and performance obligation.

 

Disaggregation of Revenue

  

   Three Months Ended March 31, 
   2022   2021 
   Commercial   Government   International   Total   Commercial   Government   International   Total 
Simulators and accessories  $1,580,192   $3,224,558   $906,636   $5,711,386   $273,796   $1,677,923   $1,077,185   $3,028,904 
Extended service-type warranties   31,487    620,361    17,662    669,510    22,074    670,584    20,050    712,708 
Customized software and content   -    51,714    83,000    134,714    -    467,413    52,273    519,686 
Installation and training   11,865    157,553    68,200    237,618    32,663    119,798    26,350    178,811 
Licensing and royalities   -    -    -    -    1,800    -    -    1,800 
Total Revenue  $1,623,544   $4,054,186   $1,075,498   $6,753,228   $330,333   $2,935,718   $1,175,858   $4,441,909 
Schedule of Earnings Per Share

The net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants were exercised. Earnings per share computations are as follows:

Schedule of Earnings Per Share

   2022   2021 
   Three Months Ended March 31, 
   2022   2021 
Net income  $577,074   $655,163 
           
Weighted average common stock outstanding   10,807,269    7,775,212 
Incremental shares from stock options   43,107    60,618 
Weighted average common stock outstanding diluted   10,850,376    7,835,830 
Net income per common share and common equivalent shares          
Basic  $0.05   $0.08 
Diluted  $0.05   $0.08 
XML 30 R20.htm IDEA: XBRL DOCUMENT v3.22.2
Inventory (Tables)
3 Months Ended
Mar. 31, 2022
Inventory Disclosure [Abstract]  
Schedule of Inventory

Inventory consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
         
Raw materials and work in process  $7,250,492   $5,229,636 
Reserve   (302,431)   (214,712)
           
Total inventory  $6,948,061   $5,014,924 
XML 31 R21.htm IDEA: XBRL DOCUMENT v3.22.2
Property and Equipment (Tables)
3 Months Ended
Mar. 31, 2022
Property, Plant and Equipment [Abstract]  
Schedule of Property and Equipment

Property and equipment consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
         
Land  $1,778,987   $1,778,987 
Building & Building Improvements   9,038,279    9,005,205 
Computer equipment   1,176,400    1,171,319 
Furniture and office equipment   262,814    262,814 
Machinery and equipment   2,447,373    1,970,007 
STEP equipment   1,572,228    1,496,252 
Leasehold improvements   334,934    334,934 
Construction in Progress   219,936    7,000 
           
Total property and equipment   16,830,951    16,026,518 
Less: Accumulated depreciation and amortization   (3,356,688)   (3,161,752)
           
Property and equipment, net  $13,474,263   $12,864,766 
XML 32 R22.htm IDEA: XBRL DOCUMENT v3.22.2
Intangible Asset (Tables)
3 Months Ended
Mar. 31, 2022
Goodwill and Intangible Assets Disclosure [Abstract]  
Schedule of Intangible Asset

Intangible asset consisted of the following as of:

 

   March 31, 2022   December 31, 2021 
Patents  $160,000   $160,000 
Capitalized media content   382,872    331,228 
Acquired lease intangible assets   83,963    83,963 
           
Total intangible assets   626,835    575,191 
Less accumulated amortization   (60,676)   (40,112)
           
Intangible assets, net  $566,159   $535,079 
XML 33 R23.htm IDEA: XBRL DOCUMENT v3.22.2
Leases (Tables)
3 Months Ended
Mar. 31, 2022
Leases [Abstract]  
Schedule of Balance Sheet Classification of Lease Assets and Liabilities

The balance sheet classification of lease assets and liabilities as of March 31, 2022 was as follows:

 

      
Balance Sheet Classification  March 31, 2022 
Assets     
Operating lease right-of-use assets, December 31, 2021  $784,306 
Amortization for the three months ended March 31, 2022   (79,853)
Total operating lease right-of-use asset, March 31, 2022  $704,453 
Liabilities     
Current     
Operating lease liability, short-term  $354,496 
Non-current     
Operating lease liability, long-term   415,260 
Total lease liabilities  $769,756 
 

The balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:

 

      
Balance Sheet Classification  December 31, 2021 
Assets     
Operating lease right-of-use assets, December 31, 2020  $1,094,527 
Amortization for the year ended December 31, 2021   (310,221)
Total operating lease right-of-use asset, December 31, 2021  $784,306 
Liabilities     
Current     
Operating lease liability, short-term  $347,772 
Non-current     
Operating lease liability, long-term   505,383 
Total lease liabilities  $853,155 
Schedule of Future Minimum Lease Payments

Future minimum lease payments as of March 31, 2022 under non-cancelable operating leases are as follows:

  

       
2022   $286,412 
2023    390,562 
2024    131,152 
       
Total lease payments    808,126 
Less: imputed interest    (38,370)
Operating lease liability   $769,756 
 

Future minimum lease payments as of December 31, 2021 under non-cancelable operating leases are as follows:

 

       
2022   $379,097 
2023    390,562 
2024    131,152 
       
Total lease payments    900,811 
Less: imputed interest    (47,656)
Operating lease liability   $853,155 
 
XML 34 R24.htm IDEA: XBRL DOCUMENT v3.22.2
Accrued Expenses (Tables)
3 Months Ended
Mar. 31, 2022
Payables and Accruals [Abstract]  
Schedule of Accrued Compensation and Related Costs

Accrued compensation and related costs consisted of the following as of:

 

           
   March 31, 2022   December 31, 2021 
         
Salaries and wages payable  $161,972   $422,562 
Employee benefits payable   27,991    16,523 
Accrued paid time off (PTO)   528,152    483,311 
Profit sharing payable   214,682    139,682 
           
Total accrued compensation and related costs  $932,797   $1,062,078 
Schedule of Accrued Expenses and Other Current Liabilities

Accrued expenses and other current liabilities consisted of the following as of:

 

           
   March 31, 2022   December 31, 2021 
         
Manufacturer’s warranties  $385,000   $384,000 
Taxes payable   276,754    113,921 
Miscellaneous payable   510,835    493,823 
           
Total accrued expenses and other current liabilities  $1,172,589   $991,744 
XML 35 R25.htm IDEA: XBRL DOCUMENT v3.22.2
Note Payable (Tables)
3 Months Ended
Mar. 31, 2022
Debt Disclosure [Abstract]  
Schedule of Notes Payable

The note payable amounts consist of the following:

 

           
   March 31, 2022   December 31, 2021 
         
Short-term liabilities:          
Note payable, principal  $230,689   $231,871 
Accrued interest on note   4,455    4,420 
           
Note payable, short-term  $235,144   $236,291 
           
Long-term liabilities:          
Note payable, principal  $8,222,666   $8,280,395 
           
Note payable, long term  $8,222,666   $8,280,395 
XML 36 R26.htm IDEA: XBRL DOCUMENT v3.22.2
Stockholders’ Equity (Tables)
3 Months Ended
Mar. 31, 2022
Equity [Abstract]  
Schedule of Non-qualified Stock Options

 

   March 31, 2022   March 31, 2021 
   Number of   Weighted   Number of   Weighted 
  

Stock

Options

  

Exercise

Price

  

Stock

Options

  

Exercise

Price

 
Options outstanding, beginning of year   112,500   $3.51    164,167   $3.13 
Granted   -    -    -    - 
Redeemed   (8,750)   3.19    (8,750)   1.45 
Exercised   (2,500)   3.19    (2,500)   1.45 
Expired / terminated   -    -    -    - 
Options outstanding, end of period   101,250   $3.55    152,917   $3.25 
Options exercisable, end of period   101,250   $3.55    152,917   $3.25 
XML 37 R27.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Disaggregation of Revenues (Details) - USD ($)
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Simulators and accessories $ 5,711,386 $ 3,028,904
Extended service-type warranties 669,510 712,708
Customized software and content 134,714 519,686
Installation and training 237,618 178,811
Licensing and royalties 1,800
Total Revenue 6,753,228 4,441,909
Commercial [Member]    
Simulators and accessories 1,580,192 273,796
Extended service-type warranties 31,487 22,074
Customized software and content
Installation and training 11,865 32,663
Licensing and royalties 1,800
Total Revenue 1,623,544 330,333
Government [Member]    
Simulators and accessories 3,224,558 1,677,923
Extended service-type warranties 620,361 670,584
Customized software and content 51,714 467,413
Installation and training 157,553 119,798
Licensing and royalties
Total Revenue 4,054,186 2,935,718
Geographic Distribution, Foreign [Member]    
Simulators and accessories 906,636 1,077,185
Extended service-type warranties 17,662 20,050
Customized software and content 83,000 52,273
Installation and training 68,200 26,350
Licensing and royalties
Total Revenue $ 1,075,498 $ 1,175,858
XML 38 R28.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Earnings Per Share (Details) - USD ($)
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Accounting Policies [Abstract]    
Net income $ 577,074 $ 655,163
Weighted average common stock outstanding 10,807,269 7,775,212
Incremental shares from stock options 43,107 60,618
Weighted average common stock outstanding diluted 10,850,376 7,835,830
Basic $ 0.05 $ 0.08
Diluted $ 0.05 $ 0.08
XML 39 R29.htm IDEA: XBRL DOCUMENT v3.22.2
Organization and Significant Accounting Policies (Details Narrative) - USD ($)
3 Months Ended 12 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Dec. 31, 2021
Product Information [Line Items]      
Revenue $ 6,753,228 $ 4,441,909  
Customer deposits, current 4,680,653   $ 4,135,565
Revenue recognized 669,510 $ 712,708  
FDIC insured amount 250,000    
Uninsured cash and cash equivalents $ 15,184,899   19,207,786
Anti-dilutive securities excluded from computation of earnings per share 0 0  
Warranty [Member] | One Year or Less [Member]      
Product Information [Line Items]      
Extended warranties $ 1,391,586   1,764,034
Warranty [Member] | Longer Than One Year [Member]      
Product Information [Line Items]      
Extended warranties 2,089,195   1,815,871
Warranty [Member] | One Year [Member]      
Product Information [Line Items]      
Extended warranties 385,000   384,000
Deferred Revenue [Member]      
Product Information [Line Items]      
Customer deposits, current 3,289,067   $ 2,371,531
Revenue from Contract with Customer Benchmark [Member] | Customer Concentration Risk [Member] | Government Customers [Member]      
Product Information [Line Items]      
Revenue $ 4,054,186 $ 2,935,718  
Concentration of credit risk 60.00% 66.00%  
Revenue from Contract with Customer Benchmark [Member] | Customer Concentration Risk [Member] | Commercial Customers [Member]      
Product Information [Line Items]      
Revenue $ 1,623,544 $ 330,333  
Concentration of credit risk 24.00% 7.00%  
Revenue from Contract with Customer Benchmark [Member] | Customer Concentration Risk [Member] | International Customers [Member]      
Product Information [Line Items]      
Revenue $ 1,075,498 $ 1,175,858  
Concentration of credit risk 16.00% 27.00%  
Revenue from Contract with Customer, Product and Service Benchmark [Member] | Customer Concentration Risk [Member] | One Commercial Customer [Member]      
Product Information [Line Items]      
Concentration of credit risk 16.00%    
Revenue from Contract with Customer, Product and Service Benchmark [Member] | Customer Concentration Risk [Member] | One Federal Agency [Member]      
Product Information [Line Items]      
Concentration of credit risk   10.00%  
Revenue from Contract with Customer, Product and Service Benchmark [Member] | Customer Concentration Risk [Member] | One Foreign Agency [Member]      
Product Information [Line Items]      
Concentration of credit risk   22.00%  
Accounts Receivable [Member] | Customer Concentration Risk [Member] | One State Agency [Member]      
Product Information [Line Items]      
Concentration of credit risk     10.00%
XML 40 R30.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Inventory (Details) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Inventory Disclosure [Abstract]    
Raw materials and work in process $ 7,250,492 $ 5,229,636
Reserve (302,431) (214,712)
Total inventory $ 6,948,061 $ 5,014,924
XML 41 R31.htm IDEA: XBRL DOCUMENT v3.22.2
Inventory (Details Narrative) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Other assets, long-term $ 376,461 $ 189,734
Spare Parts [Member]    
Other assets, long-term $ 322,968 $ 136,241
XML 42 R32.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Property and Equipment (Details) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 16,830,951 $ 16,026,518
Less: Accumulated depreciation and amortization (3,356,688) (3,161,752)
Property and equipment, net 13,474,263 12,864,766
Land [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 1,778,987 1,778,987
Building and Building Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 9,038,279 9,005,205
Computer Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 1,176,400 1,171,319
Furniture and Office Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 262,814 262,814
Machinery and Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 2,447,373 1,970,007
STEP Equipment [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 1,572,228 1,496,252
Leasehold Improvements [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment 334,934 334,934
Construction in Progress [Member]    
Property, Plant and Equipment [Line Items]    
Total property and equipment $ 219,936 $ 7,000
XML 43 R33.htm IDEA: XBRL DOCUMENT v3.22.2
Property and Equipment (Details Narrative) - USD ($)
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Property, Plant and Equipment [Abstract]    
Depreciation expense $ 195,031 $ 95,068
XML 44 R34.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Intangible Asset (Details) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Finite-Lived Intangible Assets [Line Items]    
Total intangible assets $ 626,835 $ 575,191
Less accumulated amortization (60,676) (40,112)
Intangible assets, net 566,159 535,079
Patents [Member]    
Finite-Lived Intangible Assets [Line Items]    
Total intangible assets 160,000 160,000
Capitalized Media Content [Member]    
Finite-Lived Intangible Assets [Line Items]    
Total intangible assets 382,872 331,228
Acquired Lease Intangible Assets [Member]    
Finite-Lived Intangible Assets [Line Items]    
Total intangible assets $ 83,963 $ 83,963
XML 45 R35.htm IDEA: XBRL DOCUMENT v3.22.2
Intangible Asset (Details Narrative) - USD ($)
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Goodwill and Intangible Assets Disclosure [Abstract]    
Amortization of intangible asset $ 20,564 $ 2,222
XML 46 R36.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details) - USD ($)
3 Months Ended 12 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Dec. 31, 2021
Leases [Abstract]      
Operating lease right-of-use assets, beginning $ 784,306 $ 1,094,527 $ 1,094,527
Amortization (79,853) $ (76,209) (310,221)
Total operating lease right-of-use asset, ending 704,453   784,306
Operating lease liability, short-term 354,496   347,772
Operating lease liability, long-term 415,260   505,383
Total lease liabilities $ 769,756   $ 853,155
XML 47 R37.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Future Minimum Lease Payments (Details) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Leases [Abstract]    
2022 $ 286,412 $ 379,097
2023 390,562 390,562
2024 131,152 131,152
Total lease payments 808,126 900,811
Less: imputed interest (38,370) (47,656)
Operating lease liability $ 769,756 $ 853,155
XML 48 R38.htm IDEA: XBRL DOCUMENT v3.22.2
Leases (Details Narrative) - USD ($)
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Leases [Abstract]    
Rent expenses $ 209,252 $ 143,757
XML 49 R39.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Accrued Compensation and Related Costs (Details) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Payables and Accruals [Abstract]    
Salaries and wages payable $ 161,972 $ 422,562
Employee benefits payable 27,991 16,523
Accrued paid time off (PTO) 528,152 483,311
Profit sharing payable 214,682 139,682
Total accrued compensation and related costs $ 932,797 $ 1,062,078
XML 50 R40.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Accrued Expenses and Other Current Liabilities (Details) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Payables and Accruals [Abstract]    
Manufacturer’s warranties $ 385,000 $ 384,000
Taxes payable 276,754 113,921
Miscellaneous payable 510,835 493,823
Total accrued expenses and other current liabilities $ 1,172,589 $ 991,744
XML 51 R41.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Notes Payable (Details) - USD ($)
Mar. 31, 2022
Dec. 31, 2021
Short-Term Debt [Line Items]    
Note payable, short-term $ 235,144 $ 236,291
Note payable, long term 8,222,666 8,280,395
Notes Payable [Member]    
Short-Term Debt [Line Items]    
Note payable, principal 8,222,666 8,280,395
Note payable, long term 8,222,666 8,280,395
Notes Payable [Member]    
Short-Term Debt [Line Items]    
Note payable, principal 230,689 231,871
Accrued interest on note 4,455 4,420
Note payable, short-term $ 235,144 $ 236,291
XML 52 R42.htm IDEA: XBRL DOCUMENT v3.22.2
Note Payable (Details Narrative) - USD ($)
1 Months Ended 3 Months Ended
Aug. 25, 2021
Mar. 31, 2022
Mar. 31, 2021
Short-Term Debt [Line Items]      
Payment to acquire assets   $ 804,433
Arizona Bank and Trust [Member]      
Short-Term Debt [Line Items]      
Proceeds from bank loan $ 8,600,000    
Debt instrument interest rate 3.00%    
Maturity date Aug. 23, 2031    
Arizona Bank and Trust [Member] | 199 Regular Monthly Payments [Member]      
Short-Term Debt [Line Items]      
Debt instrument periodic payment $ 40,978    
Arizona Bank and Trust [Member] | One Irregular Payment [Member]      
Short-Term Debt [Line Items]      
Debt instrument periodic payment 5,956,538    
Property [Member]      
Short-Term Debt [Line Items]      
Payment to acquire assets $ 10,800,000    
XML 53 R43.htm IDEA: XBRL DOCUMENT v3.22.2
Related Party Transactions (Details Narrative) - USD ($)
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Dec. 31, 2021
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]      
Compensation expenses $ 24,150 $ 57,067  
Common stock, par value $ 0.0001   $ 0.0001
Common Stock [Member]      
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]      
Stock issued during the period, new issues 2,500 2,500  
Common stock, par value $ 0.0001    
Stock option exercised 2,500 2,500  
Chief Executive Officer and Chief Operating Officer [Member]      
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]      
Stock reedemed or called during period shares 8,750 8,750  
One Member Of The Board Of Directors [Member]      
Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]      
Stock option exercised 7,975 3,620  
XML 54 R44.htm IDEA: XBRL DOCUMENT v3.22.2
Commitments and Contingencies (Details Narrative) - USD ($)
1 Months Ended 3 Months Ended
Aug. 31, 2022
Mar. 31, 2022
Mar. 31, 2021
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Net income loss   $ 577,074 $ 655,163
Operating expenses   2,975,787 2,004,450
Deferred Profit Sharing [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Operating expenses   75,000  
Restricted Stock Units (RSUs) [Member] | Tranche [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Net income loss     $ 26,250
Restricted Stock Units (RSUs) [Member] | Tranche [Member] | June 30, 2022 [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Net income loss   $ 2,500,000  
Chief Executive Officer [Member] | Restricted Stock Units (RSUs) [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock issued during period shares restricted stock, shares 224,133    
Chief Operating Officer [Member] | Restricted Stock Units (RSUs) [Member]      
Share-Based Compensation Arrangement by Share-Based Payment Award [Line Items]      
Stock issued during period shares restricted stock, shares 168,090    
XML 55 R45.htm IDEA: XBRL DOCUMENT v3.22.2
Schedule of Non-qualified Stock Options (Details) - Non Qualified Stock Option [Member] - $ / shares
3 Months Ended
Mar. 31, 2022
Mar. 31, 2021
Offsetting Assets [Line Items]    
Number of Stock Options, Options outstanding, beginning of year 112,500 164,167
Weighted Exercise Price, Option outstanding, beginning of year $ 3.51 $ 3.13
Number of Stock Options, Granted
Weighted Exercise Price, Granted
Number of Stock Options, Redeemed (8,750) (8,750)
Weighted Exercise Price, Redeemed $ 3.19 $ 1.45
Number of Stock Options, Exercised (2,500) (2,500)
Weighted Exercise Price, Exercised $ 3.19 $ 1.45
Number of Stock Options, Expired / terminated
Weighted Exercise Price, Expired / terminated
Number of Stock Options, Options outstanding, end of period 101,250 152,917
Weighted Exercise Price, Option outstanding end of period $ 3.55 $ 3.25
Number of Stock Options, Options exercisable, end of period 101,250 152,917
Weighted Exercise Price, Options exercisable, end of period $ 3.55 $ 3.25
XML 56 R46.htm IDEA: XBRL DOCUMENT v3.22.2
Stockholders’ Equity (Details Narrative) - USD ($)
3 Months Ended
Jan. 09, 2019
Oct. 25, 2016
Mar. 31, 2022
Mar. 31, 2021
Class of Stock [Line Items]        
Options outstanding weighted average contractual term     7 years 7 years
Options exercisable weighted average contractual term     7 years 7 years
Exercisable and outstanding Intriinsic value     $ 258,077 $ 443,036
Intriinsic value     30,675 52,898
Proceeds from stock options exrercised     $ 7,975 $ 3,620
2017 Equity Incentive Plan [Member] | Chief Executive Officer [Member]        
Class of Stock [Line Items]        
Stock issued during period shares based compensation, shares     224,133  
Stock issued during period shares restricted stock, shares     14,057  
2017 Equity Incentive Plan [Member] | Chief Operating Officer [Member]        
Class of Stock [Line Items]        
Stock issued during period shares based compensation, shares     168,090  
Stock issued during period shares restricted stock, shares     10,543  
Common Stock [Member] | Maximum [Member]        
Class of Stock [Line Items]        
Stock repurchased during period, value $ 1,000,000 $ 1,000,000    
XML 57 R47.htm IDEA: XBRL DOCUMENT v3.22.2
Subsequent Events (Details Narrative) - Subsequent Event [Member] - Mr.Givens [Member] - USD ($)
Aug. 31, 2022
May 02, 2022
Subsequent Event [Line Items]    
Salaries wages and officers compensation   $ 298,990
Stock issued during period for signing bonus, shares   64,815
2017 Equity Incentive Plan [Member]    
Subsequent Event [Line Items]    
Stock issued during period shares restricted stock, shares 288,889  
Restricted stock units vesting, description Beginning on the last business day of August 2022, a tranche of restricted stock units, having an approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.  
XML 58 form10-q_htm.xml IDEA: XBRL DOCUMENT 0001085243 2022-01-01 2022-03-31 0001085243 dei:FormerAddressMember 2022-01-01 2022-03-31 0001085243 2022-08-04 0001085243 2022-03-31 0001085243 2021-12-31 0001085243 us-gaap:CommonClassAMember 2022-03-31 0001085243 us-gaap:CommonClassAMember 2021-12-31 0001085243 us-gaap:CommonClassBMember 2022-03-31 0001085243 us-gaap:CommonClassBMember 2021-12-31 0001085243 2021-01-01 2021-03-31 0001085243 VTSI:NetSalesMember 2022-01-01 2022-03-31 0001085243 VTSI:NetSalesMember 2021-01-01 2021-03-31 0001085243 us-gaap:PreferredStockMember 2021-12-31 0001085243 us-gaap:CommonStockMember 2021-12-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001085243 us-gaap:TreasuryStockMember 2021-12-31 0001085243 us-gaap:RetainedEarningsMember 2021-12-31 0001085243 us-gaap:PreferredStockMember 2020-12-31 0001085243 us-gaap:CommonStockMember 2020-12-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001085243 us-gaap:TreasuryStockMember 2020-12-31 0001085243 us-gaap:RetainedEarningsMember 2020-12-31 0001085243 2020-12-31 0001085243 us-gaap:PreferredStockMember 2022-01-01 2022-03-31 0001085243 us-gaap:CommonStockMember 2022-01-01 2022-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-03-31 0001085243 us-gaap:TreasuryStockMember 2022-01-01 2022-03-31 0001085243 us-gaap:RetainedEarningsMember 2022-01-01 2022-03-31 0001085243 us-gaap:PreferredStockMember 2021-01-01 2021-03-31 0001085243 us-gaap:CommonStockMember 2021-01-01 2021-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-03-31 0001085243 us-gaap:TreasuryStockMember 2021-01-01 2021-03-31 0001085243 us-gaap:RetainedEarningsMember 2021-01-01 2021-03-31 0001085243 us-gaap:PreferredStockMember 2022-03-31 0001085243 us-gaap:CommonStockMember 2022-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2022-03-31 0001085243 us-gaap:TreasuryStockMember 2022-03-31 0001085243 us-gaap:RetainedEarningsMember 2022-03-31 0001085243 us-gaap:PreferredStockMember 2021-03-31 0001085243 us-gaap:CommonStockMember 2021-03-31 0001085243 us-gaap:AdditionalPaidInCapitalMember 2021-03-31 0001085243 us-gaap:TreasuryStockMember 2021-03-31 0001085243 us-gaap:RetainedEarningsMember 2021-03-31 0001085243 2021-03-31 0001085243 VTSI:GeographicDistributionCommercialMember 2022-01-01 2022-03-31 0001085243 VTSI:GeographicDistributionGovernmentMember 2022-01-01 2022-03-31 0001085243 us-gaap:GeographicDistributionForeignMember 2022-01-01 2022-03-31 0001085243 VTSI:GeographicDistributionCommercialMember 2021-01-01 2021-03-31 0001085243 VTSI:GeographicDistributionGovernmentMember 2021-01-01 2021-03-31 0001085243 us-gaap:GeographicDistributionForeignMember 2021-01-01 2021-03-31 0001085243 VTSI:GovernmentCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-03-31 0001085243 VTSI:CommercialCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-03-31 0001085243 VTSI:InternationalCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-03-31 0001085243 VTSI:GovernmentCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-03-31 0001085243 VTSI:CommercialCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-03-31 0001085243 VTSI:InternationalCustomersMember us-gaap:RevenueFromContractWithCustomerMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-03-31 0001085243 VTSI:DeferredRevenueMember 2022-03-31 0001085243 VTSI:DeferredRevenueMember 2021-12-31 0001085243 VTSI:OneYearOrLessMember VTSI:WarrantyMember 2022-03-31 0001085243 VTSI:OneYearOrLessMember VTSI:WarrantyMember 2021-12-31 0001085243 VTSI:LongerThanOneYearMember VTSI:WarrantyMember 2022-03-31 0001085243 VTSI:LongerThanOneYearMember VTSI:WarrantyMember 2021-12-31 0001085243 VTSI:OneYearMember VTSI:WarrantyMember 2022-03-31 0001085243 VTSI:OneYearMember VTSI:WarrantyMember 2021-12-31 0001085243 VTSI:OneCommercialCustomerMember us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-03-31 0001085243 VTSI:OneFederalAgencyMember us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-03-31 0001085243 VTSI:OneForeignAgencyMember us-gaap:RevenueFromContractWithCustomerProductAndServiceBenchmarkMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-03-31 0001085243 VTSI:OneStateAgencyMember us-gaap:AccountsReceivableMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001085243 VTSI:SparePartsMember 2022-03-31 0001085243 VTSI:SparePartsMember 2021-12-31 0001085243 us-gaap:LandMember 2022-03-31 0001085243 us-gaap:LandMember 2021-12-31 0001085243 us-gaap:BuildingAndBuildingImprovementsMember 2022-03-31 0001085243 us-gaap:BuildingAndBuildingImprovementsMember 2021-12-31 0001085243 us-gaap:ComputerEquipmentMember 2022-03-31 0001085243 us-gaap:ComputerEquipmentMember 2021-12-31 0001085243 VTSI:FurnitureAndOfficeEquipmentMember 2022-03-31 0001085243 VTSI:FurnitureAndOfficeEquipmentMember 2021-12-31 0001085243 us-gaap:MachineryAndEquipmentMember 2022-03-31 0001085243 us-gaap:MachineryAndEquipmentMember 2021-12-31 0001085243 VTSI:STEPEquipmentMember 2022-03-31 0001085243 VTSI:STEPEquipmentMember 2021-12-31 0001085243 us-gaap:LeaseholdImprovementsMember 2022-03-31 0001085243 us-gaap:LeaseholdImprovementsMember 2021-12-31 0001085243 us-gaap:ConstructionInProgressMember 2022-03-31 0001085243 us-gaap:ConstructionInProgressMember 2021-12-31 0001085243 us-gaap:PatentsMember 2022-03-31 0001085243 us-gaap:PatentsMember 2021-12-31 0001085243 VTSI:CapitalizedMediaContentMember 2022-03-31 0001085243 VTSI:CapitalizedMediaContentMember 2021-12-31 0001085243 VTSI:AcquiredLeaseIntangibleAssetsMember 2022-03-31 0001085243 VTSI:AcquiredLeaseIntangibleAssetsMember 2021-12-31 0001085243 2021-01-01 2021-12-31 0001085243 VTSI:PropertyMember 2021-08-01 2021-08-25 0001085243 VTSI:ArizonaBankAndTrustMember 2021-08-01 2021-08-25 0001085243 VTSI:OneHundredAndNineteenRegularMonthlyPaymentsMember VTSI:ArizonaBankAndTrustMember 2021-08-01 2021-08-25 0001085243 VTSI:OneIrregularPaymentMember VTSI:ArizonaBankAndTrustMember 2021-08-01 2021-08-25 0001085243 VTSI:NotesPayableMember 2022-03-31 0001085243 VTSI:NotesPayableMember 2021-12-31 0001085243 VTSI:NotesPayableMember 2022-03-31 0001085243 VTSI:NotesPayableMember 2021-12-31 0001085243 VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember 2022-01-01 2022-03-31 0001085243 VTSI:ChiefExecutiveOfficerAndChiefOperatingOfficerMember 2021-01-01 2021-03-31 0001085243 VTSI:OneMemberOfTheBoardOfDirectorsMember 2022-01-01 2022-03-31 0001085243 VTSI:OneMemberOfTheBoardOfDirectorsMember 2021-01-01 2021-03-31 0001085243 srt:ChiefExecutiveOfficerMember us-gaap:RestrictedStockUnitsRSUMember 2022-08-01 2022-08-31 0001085243 srt:ChiefOperatingOfficerMember us-gaap:RestrictedStockUnitsRSUMember 2022-08-01 2022-08-31 0001085243 VTSI:JuneThirtyTwoThousandAndTwentyTwoMember us-gaap:RestrictedStockUnitsRSUMember VTSI:TrancheMember 2022-01-01 2022-03-31 0001085243 us-gaap:RestrictedStockUnitsRSUMember VTSI:TrancheMember 2021-01-01 2021-03-31 0001085243 us-gaap:DeferredProfitSharingMember 2022-01-01 2022-03-31 0001085243 srt:MaximumMember us-gaap:CommonStockMember 2016-10-24 2016-10-25 0001085243 srt:MaximumMember us-gaap:CommonStockMember 2019-01-08 2019-01-09 0001085243 srt:ChiefExecutiveOfficerMember VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember 2022-01-01 2022-03-31 0001085243 srt:ChiefOperatingOfficerMember VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember 2022-01-01 2022-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2021-12-31 0001085243 VTSI:NonQualifiedStockOptionMember 2020-12-31 0001085243 VTSI:NonQualifiedStockOptionMember 2022-01-01 2022-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2021-01-01 2021-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2022-03-31 0001085243 VTSI:NonQualifiedStockOptionMember 2021-03-31 0001085243 VTSI:Mr.GivensMember us-gaap:SubsequentEventMember 2022-05-01 2022-05-02 0001085243 VTSI:Mr.GivensMember VTSI:TwoThousandAndSeventeenEquityIncentivePlanMember us-gaap:SubsequentEventMember 2022-08-27 2022-08-31 iso4217:USD shares iso4217:USD shares pure 0001085243 false Q1 --12-31 10-Q true 2022-03-31 2022 false 001-38420 VIRTRA, INC. NV 93-1207631 295 E. Corporate Place Chandler AZ 85225 (480) 968-1488 7970 S. Kyrene Road Tempe AZ 85284 Common Stock $0.0001 par value VTSI NASDAQ No No Non-accelerated Filer true true false false 17200133 15686234 19708565 5139012 3896739 6948061 5014924 5834406 3946446 961278 940887 34568991 33507561 13474263 12864766 704453 784306 566159 535079 19712 19712 376461 189734 1737444 1674234 16878492 16067831 51447483 49575392 1342578 789394 932797 1062078 1172589 991744 235144 236291 354496 347772 4680653 4135565 8718257 7562844 2245856 1992625 8222666 8280395 415260 505383 5436 5436 10889218 10783839 19607475 18346683 0.0001 0.0001 2500000 2500000 0 0 0 0 0.0001 0.0001 50000000 50000000 10809630 10809630 10807130 10807130 1081 1081 0.0001 0.0001 2500000 2500000 0 0 0 0 0.0001 0.0001 7500000 7500000 0 0 0 0 1081 1081 30957616 30923391 881311 304237 31840008 31228709 51447483 49575392 6753228 4441909 6753228 4441909 3066138 1873404 3687090 2568505 2296392 1710233 679395 294217 2975787 2004450 711303 564055 54323 16379 64552 2434 -10229 13945 701074 578000 124000 -77163 577074 655163 0.05 0.08 0.05 0.08 10807269 7775212 10850376 7835830 10807130 1081 30923391 304237 31228709 2500 7975 7975 26250 26250 577074 577074 10809630 1081 30957616 881311 31840008 7745030 778 13893660 -2235852 11658586 2500 3620 3620 655163 655163 7747530 778 13897280 -1580689 12317369 577074 655163 215746 97290 79853 76209 26250 1242273 1271775 1933137 675480 -1887960 -850422 63210 20391 321781 186727 -66788 603601 777457 -83399 -77077 798319 -224800 -3116254 -1748428 51644 48205 804433 -856077 -48205 57975 7975 3620 8566 -50000 -4946 -4022331 -1801579 19708565 6841984 15686234 5040405 99035 -77163 63776 2434 75976 <p id="xdx_809_eus-gaap--OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock_z5rC7CSYcsQi" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 1. <span id="xdx_820_zNje1WYACMz">Organization and Significant Accounting Policies</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_84B_ecustom--OrganizationAndBusinessOperationsPolicyTextBlock_zz13GelrjBs4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_862_z8sneKxlamu4">Organization and Business Operations</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra, Inc. (the “Company,” “VirTra,” “we,” “us” or “our”), located in Chandler, Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for the law enforcement, military, educational and commercial markets. The Company’s patented technologies, software, and scenarios provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations. VirTra’s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology. The Company sells its products worldwide through a direct sales force and international distribution partners. The original business started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become VirTra, Inc., a Nevada corporation.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy. On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March, with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona’s Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently. While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic on the Company’s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S. and global markets resulting from COVID-19. Additionally, the Company’s stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zS5RLRNeJI85" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86A_zTqP0Tvt9J04">Basis of Presentation</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and should be read in conjunction with our audited financial statements for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted as permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our financial position at March 31, 2022 and the results of our operations and cash flows for the periods presented. We derived the December 31, 2021 condensed balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"/> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interim results are subject to seasonal variations, and the results of operations for the three months ended March 31, 2022 are not necessarily indicative of the results to be expected for the full year.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_847_eus-gaap--UseOfEstimates_zuvfkZvtmS1a" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_863_zxuNDpoc18x7">Use of Estimates</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts receivable, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets, income tax valuation allowances, and the allocation of the transaction price to the performance obligations in our contracts with customers.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_849_eus-gaap--RevenueRecognitionPolicyTextBlock_zjM1QrfEN85c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zf1AGAY60ox8">Revenue Recognition</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company adopted the Financial Accounting Standards Board’s (the “FASB”) Accounting Standards Codification (“ASC”) 606, Revenue from Contracts with Customer (Topic 606) (“ASC 606”) on January 1, 2018 and the Company elected to use the modified retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption of ASC 606 did not have a material impact on the financial statements.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as) the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company’s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable software and the sale of extended service-type warranties. The Company’s policy is to typically invoice upon completion of installation and/or training, until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of revenue recognition:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performance Obligation</span></td> <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Method of Recognition</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Simulator and accessories</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon transfer of control</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Installation and training</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon completion or over the period of services being rendered</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Extended service-type warranty</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred and recognized over the life of the extended warranty</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized software and content</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon transfer of control or over the period services are performed depending on the terms of the contract</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized content scenario</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As performance obligation is transferred over time (input method using time and materials expanded)</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales-based royalty exchanged for license of intellectual property</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Recognized as the performance obligation is satisfied over time – which is as the sales occur.</span></td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation and training and customized software performance obligations as the customer has the right and ability to direct the use of these products and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract. For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties as these warranties represent a performance obligation to “stand ready to perform” over the duration of the warranties. As such, the warranty service is performed continuously over the warranty period.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract’s transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone selling prices, if any, are allocated proportionately to each performance obligation.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_847_ecustom--DisaggregationOfRevenuePolicyTextBlock_zBrrvf121Bsl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span><span id="xdx_869_z9hbfjNt0oSi">Disaggregation of Revenue</span></span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_z5IqmComXI73" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20.15pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation disclosure by customer’s location and performance obligation.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation of Revenue</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B7_zZrRxgPXwK3j" style="display: none">Schedule of Disaggregation of Revenues</span> </span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="30" style="border-bottom: Black 1pt solid; text-align: center">Three Months Ended March 31,</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="14" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="14" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2" style="text-align: center">Commercial</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Government</td><td> </td><td> </td> <td colspan="2" style="text-align: center">International</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Total</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Commercial</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Government</td><td> </td><td> </td> <td colspan="2" style="text-align: center">International</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Total</td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 28%; text-align: left">Simulators and accessories</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zoBvCWYYz9de" style="width: 5%; text-align: right" title="Simulators and accessories">1,580,192</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zK0BtVvsQRxh" style="width: 5%; text-align: right" title="Simulators and accessories">3,224,558</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zo9ZbJiZn208" style="width: 5%; text-align: right" title="Simulators and accessories">906,636</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331_zm8QCEizIA76" style="width: 5%; text-align: right" title="Simulators and accessories">5,711,386</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_980_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSqmN7bqo99k" style="width: 5%; text-align: right" title="Simulators and accessories">273,796</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_988_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z1vKcq1rk2v8" style="width: 5%; text-align: right" title="Simulators and accessories">1,677,923</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUiN8rVvQJ5c" style="width: 5%; text-align: right" title="Simulators and accessories">1,077,185</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331_zU59Jjf1LWm2" style="width: 5%; text-align: right" title="Simulators and accessories">3,028,904</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Extended service-type warranties</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMOZ2FWaWfa7" style="text-align: right" title="Extended service-type warranties">31,487</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zYMtTdzMVCvi" style="text-align: right" title="Extended service-type warranties">620,361</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zoNykYxGGr3h" style="text-align: right" title="Extended service-type warranties">17,662</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331_zhBiT6DSOJP7" style="text-align: right" title="Extended service-type warranties">669,510</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z37pqqFKgOhg" style="text-align: right" title="Extended service-type warranties">22,074</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD8VLm6OfeX3" style="text-align: right" title="Extended service-type warranties">670,584</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5R8sUKdulQk" style="text-align: right" title="Extended service-type warranties">20,050</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331_zEkKJeAFJHoc" style="text-align: right" title="Extended service-type warranties">712,708</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Customized software and content</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zvanCKbvWbEg" style="text-align: right" title="Customized software and content"><span style="-sec-ix-hidden: xdx2ixbrl0542">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zcBuHQg6YjVa" style="text-align: right" title="Customized software and content">51,714</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zn3Cu5xrTYOd" style="text-align: right" title="Customized software and content">83,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220331_zVoBYS6CoFzj" style="text-align: right" title="Customized software and content">134,714</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z52tSqDiNNog" style="text-align: right" title="Customized software and content"><span style="-sec-ix-hidden: xdx2ixbrl0550">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zx9Eq6rzKiZe" style="text-align: right" title="Customized software and content">467,413</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5YnEXARAFzi" style="text-align: right" title="Customized software and content">52,273</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331_zkBcQG9Jjcfl" style="text-align: right" title="Customized software and content">519,686</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Installation and training</td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zKlSRerhpNX3" style="text-align: right" title="Installation and training">11,865</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zUL3KEnscuq3" style="text-align: right" title="Installation and training">157,553</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmNgnugAUWw9" style="text-align: right" title="Installation and training">68,200</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331_zV5eAgWCKly" style="text-align: right" title="Installation and training">237,618</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ziCd8dceSuQl" style="text-align: right" title="Installation and training">32,663</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z0eYxUROOtbe" style="text-align: right" title="Installation and training">119,798</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zTX87uFPKf5k" style="text-align: right" title="Installation and training">26,350</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331_zaJ6ObUhdvV6" style="text-align: right" title="Installation and training">178,811</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Licensing and royalities</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zs4tfSFgYAll" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0574">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAQYx0st9gFl" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0576">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zqVNQz0h3s8e" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0578">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331_z1gnvgfSWPth" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0580">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zRCs4nN9S2Ui" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties">1,800</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zG5IYVJISJXi" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0584">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98D_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zcJugCCDP3d3" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0586">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_982_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331_zjhwilA5Jw98" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties">1,800</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 2.5pt">Total Revenue</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ze9AhMobi472" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,623,544</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zf9BabnjuhUb" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">4,054,186</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z6d7Km8SDKed" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,075,498</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331_zV2wLiMc3kq2" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">6,753,228</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zrgUem9PtCy1" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">330,333</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfpyTNOEwV2k" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">2,935,718</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUsC8boItTEg" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,175,858</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331_zSeeUrfZfvU7" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">4,441,909</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A0_zexnOSJsODcl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For the three months ended March 31, 2022, governmental customers comprised $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zsqX9lqBK8bj" title="Revenue">4,054,186</span>, or <span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zFVL6g6Fx4Cb" title="Concentration of credit risk">60</span>% of total net sales, commercial customers comprised $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zmGTTQBZh4Al" title="Revenue">1,623,544</span>, or <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zCzBGMDc95g2" title="Concentration of credit risk">24</span>% of total net sales, and international customers comprised $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zOCGTKVUU8sg" title="Revenue">1,075,498</span>, or <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zujqsCc4cemd" title="Concentration of credit risk">16</span>% of total net sales. By comparison, for the three months ended March 31, 2021, governmental customers comprised $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_ziux1tJnJtNa" title="Revenue">2,935,718</span>, or <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zDtBSASZ2Pj9" title="Concentration of credit risk">66</span>% of total net sales, commercial customers comprised $<span id="xdx_90B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zS2cs5TWvP3h" title="Revenue">330,333</span>, or <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zCYDor4CsF98" title="Concentration of credit risk">7</span>% of total net sales, and international customers comprised $<span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_znL0xVAsxbs6" title="Revenue">1,175,858</span>, or <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zFfU5lOoNPC3" title="Concentration of credit risk">27</span>% of total net sales.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_847_eus-gaap--DepositContractsPolicy_z8aZfIshgHuj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86D_zLGuoKstuvOk">Customer Deposits</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (“STEP”) operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer’s contract performance obligation. When revenue is recognized, the deposit is applied to customer’s receivable balance. Customer deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totaled $<span id="xdx_906_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220331__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_znqVlLOrh95e" title="Customer deposits, current">3,289,067</span> and $<span id="xdx_90B_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z8gJNPp1PSj8" title="Customer deposits, current">2,371,531</span> at March 31, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate from year to year based upon the mix of customers required to prepay deposits under the Company’s credit policy.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_84F_eus-gaap--StandardProductWarrantyPolicy_zp2dAMOy8NJ8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_864_zNPreG0LbYZ8">Warranty</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty. During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship, the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totaled $<span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220331__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_ztF74JjnsA94" title="Extended warranties">1,391,586</span> and $<span id="xdx_903_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zeqKvHnT00zi" title="Extended warranties">1,764,034</span> as of March 31, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties longer than one year totaled $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220331__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLHo70jbtqL1" title="Extended warranties">2,089,195</span> and $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zCqTVgU1sFvk" title="Extended warranties">1,815,871</span> as of March 31, 2022 and December 31, 2021, respectively. The accrual for the one-year manufacturer’s warranty liability totaled $<span id="xdx_903_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220331__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zsI81r3nYQY9" title="Extended warranties">385,000</span> and $<span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zXF9ziffqMjc" title="Extended warranties">384,000</span> as of March 31, 2022 and December 31, 2021, respectively. During the three months ended March 31, 2022 and 2021, the Company recognized revenue of $<span id="xdx_909_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220331_ziaIuhWn69Rl" title="Revenue recognized">669,510</span> and $<span id="xdx_907_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210331_zpfekwmrgtn8" title="Revenue recognized">712,708</span>, respectively, related to the extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of the warranties at the beginning of the period and new extended service-type warranties sold during the period.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i> </i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i> </i></b></span></p> <p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zrvUdwT52DEa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_861_zTbooiSApX9g">Concentration of Credit Risk and Major Customers and Suppliers</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates of deposit, accounts receivable and notes receivable.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company’s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the accounts are titled. The standard deposit insurance coverage limit is $<span id="xdx_903_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220331_zQiYCF1A6tgk" title="FDIC insured amount">250,000</span> per depositor, per FDIC-insured bank, per ownership category. The Company had uninsured cash and cash equivalents of $<span id="xdx_902_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220331_zqEYmpOlebdb" title="Uninsured cash and cash equivalents">15,184,899</span> and $<span id="xdx_907_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zOcp1VK89kWk" title="Uninsured cash and cash equivalents">19,207,786</span> as of March 31, 2022 and December 31, 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Most sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs ongoing credit evaluations of its customers’ financial condition and maintains an allowance for estimated losses. Historically, the Company has experienced minimal charges relative to doubtful accounts.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Historically, the Company primarily sells its products to United States federal and state agencies. For the three months ended March 31, 2022, one foreign agency comprised <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneCommercialCustomerMember_zWtObs6h5JE4" title="Concentration of credit risk">16</span>% of total net sales. By comparison, for the three months ended March 31, 2021, one federal agency comprised <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zRhBB2NZREzl" title="Concentration of credit risk">10%</span> and one foreign agency comprised <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneForeignAgencyMember_ztsTDJ9EGOei" title="Concentration of credit risk">22</span>% of total net sales.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As of March 31, 2022, one federal agency comprised 14% of total accounts receivable. By comparison, as of December 31, 2021, the Company did not have any customer that accounted for more than <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z8SJkW9dgBR" title="Concentration of credit risk">10</span>% of total accounts receivable.</span></p> <p id="xdx_85C_zBE7EcK3MoS6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"> </p> <p id="xdx_846_eus-gaap--EarningsPerSharePolicyTextBlock_z6EizbAsuVPf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Net Income (Loss)per Common Share</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zU8M2iSeJU4k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants were exercised. Earnings per share computations are as follows:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_ztxErvRBveXl">Schedule of Earnings Per Share</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.15in"> <tr style="display: none; vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_491_20220101__20220331_zcUMfTAROEe" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_491_20210101__20210331_zd15d5RnTsEc" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">Three Months Ended March 31,</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr id="xdx_402_eus-gaap--NetIncomeLoss_zg59B0eko6vc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="width: 2%; padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 20%; text-align: right">577,074</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left"> </td><td style="width: 2%; padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 20%; text-align: right">655,163</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_z4YjIBqDp6ml" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Weighted average common stock outstanding</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">10,807,269</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">7,775,212</td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--IncrementalCommonSharesAttributableToCallOptionsAndWarrants_zcwK3j56UK92" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Incremental shares from stock options</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">43,107</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">60,618</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zPyLd5559mzk" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 2.5pt">Weighted average common stock outstanding diluted</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td style="border-bottom: Black 2.5pt double; text-align: right">10,850,376</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td style="border-bottom: Black 2.5pt double; text-align: right">7,835,830</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Net income per common share and common equivalent shares</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--EarningsPerShareBasic_z93raXlvW8jj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Basic</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.05</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.08</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_zHkaidIofo42" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt">Diluted</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.05</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.08</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A0_zf8GrtA0rnC4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company has potentially dilutive securities outstanding that are not included in the diluted earnings per share calculation for the three months ended March 31, 2022 and 2021 because their effect would be anti-dilutive. These potentially dilutive securities, comprised entirely of the Company’s stock options, totaled <span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20220331_zpbG0O402Uz6" title="Anti-dilutive securities excluded from computation of earnings per share"><span id="xdx_909_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20210331_zsmoazKsa5Vg" title="Anti-dilutive securities excluded from computation of earnings per share">0</span></span> for the three months ended March 31, 2022 and 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_84B_ecustom--OrganizationAndBusinessOperationsPolicyTextBlock_zz13GelrjBs4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_862_z8sneKxlamu4">Organization and Business Operations</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra, Inc. (the “Company,” “VirTra,” “we,” “us” or “our”), located in Chandler, Arizona, is a global provider of judgmental use of force training simulators, firearms training simulators and driving simulators for the law enforcement, military, educational and commercial markets. The Company’s patented technologies, software, and scenarios provide intense training for de-escalation, judgmental use-of-force, marksmanship and related training that mimics real-world situations. VirTra’s mission is to save and improve lives worldwide through practical and highly-effective virtual reality and simulator technology. The Company sells its products worldwide through a direct sales force and international distribution partners. The original business started in 1993 as Ferris Productions, Inc. In September 2001, Ferris Productions, Inc. merged with GameCom, Inc. to ultimately become VirTra, Inc., a Nevada corporation.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During March 2020, a global pandemic was declared by the World Health Organization related to the rapidly growing outbreak of a novel strain of coronavirus (COVID-19). The pandemic has significantly impacted the economic conditions in the U.S., accelerating during half of March and April as federal, state and local governments react to the public health crisis, creating significant uncertainties in the U.S. economy. On March 30, 2020, the Governor for the State of Arizona issued a stay-at-home order which expired on May 15, 2020, upon which Arizona entered Phase I of reopening. The Company carefully reviewed all rules and regulations of the government orders and determined it met the requirements of an essential business to remain open. The Company had the majority of its staff begin working remotely in mid-March, with only essential personnel continue working at the manufacturing and production facilities and currently remains in Arizona’s Phase I of reopening. This situation is rapidly changing and additional impacts to the business may arise that we are not aware of currently. While the disruption is currently expected to be temporary, there is uncertainty around the duration. The ultimate impact of the pandemic on the Company’s results of operations, financial position, liquidity or capital resources cannot be reasonably estimated at this time. To date, the COVID-19 restrictions have resulted in reduced customer shipments and customer system installations. These recent developments are expected to result in lower recognized revenue and possibly lower gross margin when they occur. To date, there have been no order cancellations; rather, there have only been delays in when orders ship or installations occur and all delayed orders remain in backlog. Any future impact cannot be reasonably estimated at this time. The Company is no longer investing in Certificates of Deposits as a precautionary measure to increase its liquid cash position and preserve financial flexibility considering uncertainty in the U.S. and global markets resulting from COVID-19. Additionally, the Company’s stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect for the duration of the outstanding PPP loan and continues to remain in effect even though the PPP loan has been forgiven and is no longer outstanding.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Russian-Ukraine conflict is a global concern. The Company does not have any significant direct exposure to Russia or Ukraine through its operations, employee base, investments, or sanctions. We have no basis to evaluate the possible risks of this conflict.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_84F_eus-gaap--BasisOfAccountingPolicyPolicyTextBlock_zS5RLRNeJI85" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86A_zTqP0Tvt9J04">Basis of Presentation</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The unaudited financial statements included herein have been prepared by us without audit pursuant to the rules and regulations of the Securities and Exchange Commission (“SEC”) and should be read in conjunction with our audited financial statements for the year ended December 31, 2021 included in the Company’s Annual Report on Form 10-K for the fiscal year ended December 31, 2021 filed with the SEC on August 2, 2022. Certain information and footnote disclosures normally included in financial statements prepared in accordance with accounting principles generally accepted in the United States of America (“GAAP”) have been condensed or omitted as permitted by the SEC, although we believe the disclosures that are made are adequate to make the information presented herein not misleading.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The accompanying unaudited financial statements reflect, in our opinion, all normal recurring adjustments necessary to present fairly our financial position at March 31, 2022 and the results of our operations and cash flows for the periods presented. We derived the December 31, 2021 condensed balance sheet data from audited financial statements; however, we did not include all disclosures required by GAAP.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"/> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Interim results are subject to seasonal variations, and the results of operations for the three months ended March 31, 2022 are not necessarily indicative of the results to be expected for the full year.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_847_eus-gaap--UseOfEstimates_zuvfkZvtmS1a" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_863_zxuNDpoc18x7">Use of Estimates</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The preparation of financial statements in conformity with GAAP requires management to make estimates that affect the reported amounts of assets and liabilities and disclosure of contingent assets and liabilities as of the date of the financial statements and the reported amounts of revenues and expenses during the reporting period. Actual results could differ significantly from those estimates. Significant accounting estimates in these financial statements include valuation assumptions for share-based payments, allowance for doubtful accounts receivable, inventory reserves, accrual for warranty reserves, the carrying value of long-lived assets and intangible assets, income tax valuation allowances, and the allocation of the transaction price to the performance obligations in our contracts with customers.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_849_eus-gaap--RevenueRecognitionPolicyTextBlock_zjM1QrfEN85c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86B_zf1AGAY60ox8">Revenue Recognition</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company adopted the Financial Accounting Standards Board’s (the “FASB”) Accounting Standards Codification (“ASC”) 606, Revenue from Contracts with Customer (Topic 606) (“ASC 606”) on January 1, 2018 and the Company elected to use the modified retrospective transition method which requires application of ASC 606 to uncompleted contracts at the date of adoption. The adoption of ASC 606 did not have a material impact on the financial statements.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under ASC 606, the Company must identify the contract with a customer, identify the performance obligations in the contract, determine the transaction price, allocate the transaction price to the performance obligations in the contract, and recognize revenue when (or as) the Company satisfies a performance obligation. Significant judgment is necessary when making these determinations.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company’s primary sources of revenue are derived from simulator and accessories sales, training and installation, the sale of customizable software and the sale of extended service-type warranties. The Company’s policy is to typically invoice upon completion of installation and/or training, until such time the performance obligations that have been satisfied are included in unbilled. Sales discounts are presented in the financial statements as reductions in determining net revenues. Credit sales are recorded as current assets (accounts receivable and unbilled revenue). Prepaid deposits received at the time of sale and extended warranties purchased are recorded as current and long-term liabilities (deferred revenue) until earned. The following briefly summarizes the nature of our performance obligations and method of revenue recognition:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; width: 100%; border-collapse: collapse"> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Performance Obligation</span></td> <td style="font: 10pt Times New Roman, Times, Serif; padding-bottom: 1pt; width: 2%"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="border-bottom: Black 1pt solid; font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Method of Recognition</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Simulator and accessories</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon transfer of control</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Installation and training</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon completion or over the period of services being rendered</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Extended service-type warranty</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Deferred and recognized over the life of the extended warranty</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized software and content</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Upon transfer of control or over the period services are performed depending on the terms of the contract</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customized content scenario</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As performance obligation is transferred over time (input method using time and materials expanded)</span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td></tr> <tr style="font: 10pt Times New Roman, Times, Serif; vertical-align: top"> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Sales-based royalty exchanged for license of intellectual property</span></td> <td style="font: 10pt Times New Roman, Times, Serif"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></td> <td style="font: 10pt Times New Roman, Times, Serif; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Recognized as the performance obligation is satisfied over time – which is as the sales occur.</span></td></tr> </table> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company recognizes revenue upon transfer of control or upon completion of the services for the simulator and accessories; for the installation and training and customized software performance obligations as the customer has the right and ability to direct the use of these products and services and the customer obtains substantially all of the remaining benefit from these products and services at that time. Revenue from certain customized content contracts may be recognized over the period the services are performed based on the terms of the contract. For the sales-based royalty exchanged for license of intellectual property, the Company recognized revenue as the sales occur over time.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company recognizes revenue on a straight-line basis over the period of services being rendered for the extended service-type warranties as these warranties represent a performance obligation to “stand ready to perform” over the duration of the warranties. As such, the warranty service is performed continuously over the warranty period.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Each contract states the transaction price. The contracts do not include variable consideration, significant financing components or noncash consideration. The Company has elected to exclude sales and similar taxes from the measurement of the transaction price. The contract’s transaction price is allocated to the performance obligations based upon their stand-alone selling prices. Discounts to the stand-alone selling prices, if any, are allocated proportionately to each performance obligation.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_847_ecustom--DisaggregationOfRevenuePolicyTextBlock_zBrrvf121Bsl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span><span id="xdx_869_z9hbfjNt0oSi">Disaggregation of Revenue</span></span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_z5IqmComXI73" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20.15pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation disclosure by customer’s location and performance obligation.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation of Revenue</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B7_zZrRxgPXwK3j" style="display: none">Schedule of Disaggregation of Revenues</span> </span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="30" style="border-bottom: Black 1pt solid; text-align: center">Three Months Ended March 31,</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="14" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="14" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2" style="text-align: center">Commercial</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Government</td><td> </td><td> </td> <td colspan="2" style="text-align: center">International</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Total</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Commercial</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Government</td><td> </td><td> </td> <td colspan="2" style="text-align: center">International</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Total</td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 28%; text-align: left">Simulators and accessories</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zoBvCWYYz9de" style="width: 5%; text-align: right" title="Simulators and accessories">1,580,192</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zK0BtVvsQRxh" style="width: 5%; text-align: right" title="Simulators and accessories">3,224,558</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zo9ZbJiZn208" style="width: 5%; text-align: right" title="Simulators and accessories">906,636</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331_zm8QCEizIA76" style="width: 5%; text-align: right" title="Simulators and accessories">5,711,386</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_980_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSqmN7bqo99k" style="width: 5%; text-align: right" title="Simulators and accessories">273,796</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_988_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z1vKcq1rk2v8" style="width: 5%; text-align: right" title="Simulators and accessories">1,677,923</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUiN8rVvQJ5c" style="width: 5%; text-align: right" title="Simulators and accessories">1,077,185</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331_zU59Jjf1LWm2" style="width: 5%; text-align: right" title="Simulators and accessories">3,028,904</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Extended service-type warranties</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMOZ2FWaWfa7" style="text-align: right" title="Extended service-type warranties">31,487</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zYMtTdzMVCvi" style="text-align: right" title="Extended service-type warranties">620,361</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zoNykYxGGr3h" style="text-align: right" title="Extended service-type warranties">17,662</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331_zhBiT6DSOJP7" style="text-align: right" title="Extended service-type warranties">669,510</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z37pqqFKgOhg" style="text-align: right" title="Extended service-type warranties">22,074</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD8VLm6OfeX3" style="text-align: right" title="Extended service-type warranties">670,584</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5R8sUKdulQk" style="text-align: right" title="Extended service-type warranties">20,050</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331_zEkKJeAFJHoc" style="text-align: right" title="Extended service-type warranties">712,708</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Customized software and content</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zvanCKbvWbEg" style="text-align: right" title="Customized software and content"><span style="-sec-ix-hidden: xdx2ixbrl0542">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zcBuHQg6YjVa" style="text-align: right" title="Customized software and content">51,714</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zn3Cu5xrTYOd" style="text-align: right" title="Customized software and content">83,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220331_zVoBYS6CoFzj" style="text-align: right" title="Customized software and content">134,714</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z52tSqDiNNog" style="text-align: right" title="Customized software and content"><span style="-sec-ix-hidden: xdx2ixbrl0550">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zx9Eq6rzKiZe" style="text-align: right" title="Customized software and content">467,413</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5YnEXARAFzi" style="text-align: right" title="Customized software and content">52,273</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331_zkBcQG9Jjcfl" style="text-align: right" title="Customized software and content">519,686</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Installation and training</td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zKlSRerhpNX3" style="text-align: right" title="Installation and training">11,865</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zUL3KEnscuq3" style="text-align: right" title="Installation and training">157,553</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmNgnugAUWw9" style="text-align: right" title="Installation and training">68,200</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331_zV5eAgWCKly" style="text-align: right" title="Installation and training">237,618</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ziCd8dceSuQl" style="text-align: right" title="Installation and training">32,663</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z0eYxUROOtbe" style="text-align: right" title="Installation and training">119,798</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zTX87uFPKf5k" style="text-align: right" title="Installation and training">26,350</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331_zaJ6ObUhdvV6" style="text-align: right" title="Installation and training">178,811</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Licensing and royalities</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zs4tfSFgYAll" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0574">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAQYx0st9gFl" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0576">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zqVNQz0h3s8e" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0578">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331_z1gnvgfSWPth" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0580">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zRCs4nN9S2Ui" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties">1,800</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zG5IYVJISJXi" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0584">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98D_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zcJugCCDP3d3" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0586">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_982_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331_zjhwilA5Jw98" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties">1,800</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 2.5pt">Total Revenue</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ze9AhMobi472" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,623,544</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zf9BabnjuhUb" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">4,054,186</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z6d7Km8SDKed" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,075,498</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331_zV2wLiMc3kq2" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">6,753,228</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zrgUem9PtCy1" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">330,333</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfpyTNOEwV2k" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">2,935,718</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUsC8boItTEg" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,175,858</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331_zSeeUrfZfvU7" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">4,441,909</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A0_zexnOSJsODcl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">For the three months ended March 31, 2022, governmental customers comprised $<span id="xdx_90A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zsqX9lqBK8bj" title="Revenue">4,054,186</span>, or <span id="xdx_90D_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zFVL6g6Fx4Cb" title="Concentration of credit risk">60</span>% of total net sales, commercial customers comprised $<span id="xdx_90C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zmGTTQBZh4Al" title="Revenue">1,623,544</span>, or <span id="xdx_903_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zCzBGMDc95g2" title="Concentration of credit risk">24</span>% of total net sales, and international customers comprised $<span id="xdx_902_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zOCGTKVUU8sg" title="Revenue">1,075,498</span>, or <span id="xdx_904_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zujqsCc4cemd" title="Concentration of credit risk">16</span>% of total net sales. By comparison, for the three months ended March 31, 2021, governmental customers comprised $<span id="xdx_903_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_ziux1tJnJtNa" title="Revenue">2,935,718</span>, or <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--GovernmentCustomersMember_zDtBSASZ2Pj9" title="Concentration of credit risk">66</span>% of total net sales, commercial customers comprised $<span id="xdx_90B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zS2cs5TWvP3h" title="Revenue">330,333</span>, or <span id="xdx_90A_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--CommercialCustomersMember_zCYDor4CsF98" title="Concentration of credit risk">7</span>% of total net sales, and international customers comprised $<span id="xdx_900_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_znL0xVAsxbs6" title="Revenue">1,175,858</span>, or <span id="xdx_90F_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--MajorCustomersAxis__custom--InternationalCustomersMember_zFfU5lOoNPC3" title="Concentration of credit risk">27</span>% of total net sales.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_893_eus-gaap--DisaggregationOfRevenueTableTextBlock_z5IqmComXI73" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20.15pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Under ASC 606, disaggregated revenue from contracts with customers depicts the nature, amount, timing, and uncertainty of revenue and cash flows affected by economic factors. The Company has evaluated revenues recognized and the following table illustrates the disaggregation disclosure by customer’s location and performance obligation.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Disaggregation of Revenue</b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B7_zZrRxgPXwK3j" style="display: none">Schedule of Disaggregation of Revenues</span> </span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="30" style="border-bottom: Black 1pt solid; text-align: center">Three Months Ended March 31,</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="14" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="14" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2" style="text-align: center">Commercial</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Government</td><td> </td><td> </td> <td colspan="2" style="text-align: center">International</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Total</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Commercial</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Government</td><td> </td><td> </td> <td colspan="2" style="text-align: center">International</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Total</td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 28%; text-align: left">Simulators and accessories</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98D_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zoBvCWYYz9de" style="width: 5%; text-align: right" title="Simulators and accessories">1,580,192</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zK0BtVvsQRxh" style="width: 5%; text-align: right" title="Simulators and accessories">3,224,558</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98E_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zo9ZbJiZn208" style="width: 5%; text-align: right" title="Simulators and accessories">906,636</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_986_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20220101__20220331_zm8QCEizIA76" style="width: 5%; text-align: right" title="Simulators and accessories">5,711,386</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_980_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zSqmN7bqo99k" style="width: 5%; text-align: right" title="Simulators and accessories">273,796</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_988_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z1vKcq1rk2v8" style="width: 5%; text-align: right" title="Simulators and accessories">1,677,923</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_984_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUiN8rVvQJ5c" style="width: 5%; text-align: right" title="Simulators and accessories">1,077,185</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_98B_ecustom--SimulatorsandAccessoriesRevenue_pp0p0_c20210101__20210331_zU59Jjf1LWm2" style="width: 5%; text-align: right" title="Simulators and accessories">3,028,904</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Extended service-type warranties</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98C_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zMOZ2FWaWfa7" style="text-align: right" title="Extended service-type warranties">31,487</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zYMtTdzMVCvi" style="text-align: right" title="Extended service-type warranties">620,361</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zoNykYxGGr3h" style="text-align: right" title="Extended service-type warranties">17,662</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--ExtendedServicetypeWarranties_pp0p0_c20220101__20220331_zhBiT6DSOJP7" style="text-align: right" title="Extended service-type warranties">669,510</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z37pqqFKgOhg" style="text-align: right" title="Extended service-type warranties">22,074</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zD8VLm6OfeX3" style="text-align: right" title="Extended service-type warranties">670,584</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5R8sUKdulQk" style="text-align: right" title="Extended service-type warranties">20,050</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--ExtendedServicetypeWarranties_pp0p0_c20210101__20210331_zEkKJeAFJHoc" style="text-align: right" title="Extended service-type warranties">712,708</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Customized software and content</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zvanCKbvWbEg" style="text-align: right" title="Customized software and content"><span style="-sec-ix-hidden: xdx2ixbrl0542">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98D_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zcBuHQg6YjVa" style="text-align: right" title="Customized software and content">51,714</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_983_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zn3Cu5xrTYOd" style="text-align: right" title="Customized software and content">83,000</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_c20220101__20220331_zVoBYS6CoFzj" style="text-align: right" title="Customized software and content">134,714</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_z52tSqDiNNog" style="text-align: right" title="Customized software and content"><span style="-sec-ix-hidden: xdx2ixbrl0550">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zx9Eq6rzKiZe" style="text-align: right" title="Customized software and content">467,413</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z5YnEXARAFzi" style="text-align: right" title="Customized software and content">52,273</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--CustomizedSoftwareAndCustomizedContentScenarios_pp0p0_c20210101__20210331_zkBcQG9Jjcfl" style="text-align: right" title="Customized software and content">519,686</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Installation and training</td><td> </td> <td style="text-align: left"> </td><td id="xdx_980_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zKlSRerhpNX3" style="text-align: right" title="Installation and training">11,865</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_985_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zUL3KEnscuq3" style="text-align: right" title="Installation and training">157,553</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zmNgnugAUWw9" style="text-align: right" title="Installation and training">68,200</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_ecustom--InstallationAndTraining_pp0p0_c20220101__20220331_zV5eAgWCKly" style="text-align: right" title="Installation and training">237,618</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_981_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ziCd8dceSuQl" style="text-align: right" title="Installation and training">32,663</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_z0eYxUROOtbe" style="text-align: right" title="Installation and training">119,798</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zTX87uFPKf5k" style="text-align: right" title="Installation and training">26,350</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_ecustom--InstallationAndTraining_pp0p0_c20210101__20210331_zaJ6ObUhdvV6" style="text-align: right" title="Installation and training">178,811</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 1pt">Licensing and royalities</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zs4tfSFgYAll" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0574">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zAQYx0st9gFl" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0576">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_981_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zqVNQz0h3s8e" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0578">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_983_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20220101__20220331_z1gnvgfSWPth" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0580">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98E_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zRCs4nN9S2Ui" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties">1,800</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zG5IYVJISJXi" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0584">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_98D_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zcJugCCDP3d3" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties"><span style="-sec-ix-hidden: xdx2ixbrl0586">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_982_ecustom--LicensingAndRoyaltiesRevenue_pp0p0_c20210101__20210331_zjhwilA5Jw98" style="border-bottom: Black 1pt solid; text-align: right" title="Licensing and royalties">1,800</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left; padding-bottom: 2.5pt">Total Revenue</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98A_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_ze9AhMobi472" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,623,544</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98C_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zf9BabnjuhUb" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">4,054,186</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98B_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_z6d7Km8SDKed" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,075,498</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_982_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20220101__20220331_zV2wLiMc3kq2" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">6,753,228</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionCommercialMember_zrgUem9PtCy1" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">330,333</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__custom--GeographicDistributionGovernmentMember_zfpyTNOEwV2k" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">2,935,718</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331__srt--StatementGeographicalAxis__us-gaap--GeographicDistributionForeignMember_zUsC8boItTEg" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">1,175,858</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_987_eus-gaap--RevenueFromContractWithCustomerExcludingAssessedTax_pp0p0_c20210101__20210331_zSeeUrfZfvU7" style="border-bottom: Black 2.5pt double; text-align: right" title="Total Revenue">4,441,909</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 1580192 3224558 906636 5711386 273796 1677923 1077185 3028904 31487 620361 17662 669510 22074 670584 20050 712708 51714 83000 134714 467413 52273 519686 11865 157553 68200 237618 32663 119798 26350 178811 1800 1800 1623544 4054186 1075498 6753228 330333 2935718 1175858 4441909 4054186 0.60 1623544 0.24 1075498 0.16 2935718 0.66 330333 0.07 1175858 0.27 <p id="xdx_847_eus-gaap--DepositContractsPolicy_z8aZfIshgHuj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_86D_zLGuoKstuvOk">Customer Deposits</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Customer deposits consist of prepaid deposits received for equipment purchase orders and for Subscription Training Equipment Partnership (“STEP”) operating agreements that expire annually. Customer deposits are considered a deferred liability until the completion of the customer’s contract performance obligation. When revenue is recognized, the deposit is applied to customer’s receivable balance. Customer deposits are recorded as a current liability under deferred revenue on the accompanying balance sheet and totaled $<span id="xdx_906_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20220331__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_znqVlLOrh95e" title="Customer deposits, current">3,289,067</span> and $<span id="xdx_90B_eus-gaap--ContractWithCustomerLiabilityCurrent_iI_pp0p0_c20211231__us-gaap--IncomeStatementLocationAxis__custom--DeferredRevenueMember_z8gJNPp1PSj8" title="Customer deposits, current">2,371,531</span> at March 31, 2022 and December 31, 2021, respectively. Changes in deferred revenue amounts related to customer deposits will fluctuate from year to year based upon the mix of customers required to prepay deposits under the Company’s credit policy.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> 3289067 2371531 <p id="xdx_84F_eus-gaap--StandardProductWarrantyPolicy_zp2dAMOy8NJ8" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_864_zNPreG0LbYZ8">Warranty</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company warranties its products from manufacturing defects on a limited basis for a period of one year after purchase, but also sells separately priced extended service-type warranties for periods of up to four years after the expiration of the standard one-year warranty. During the term of the initial one-year warranty, if the device fails to operate properly from defects in materials and workmanship, the Company will fix or replace the defective product. Deferred revenue for separately priced extended warranties one year or less totaled $<span id="xdx_900_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220331__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_ztF74JjnsA94" title="Extended warranties">1,391,586</span> and $<span id="xdx_903_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearOrLessMember_zeqKvHnT00zi" title="Extended warranties">1,764,034</span> as of March 31, 2022 and December 31, 2021, respectively. Deferred revenue for separately priced extended warranties longer than one year totaled $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220331__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zLHo70jbtqL1" title="Extended warranties">2,089,195</span> and $<span id="xdx_90F_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--LongerThanOneYearMember_zCqTVgU1sFvk" title="Extended warranties">1,815,871</span> as of March 31, 2022 and December 31, 2021, respectively. The accrual for the one-year manufacturer’s warranty liability totaled $<span id="xdx_903_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20220331__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zsI81r3nYQY9" title="Extended warranties">385,000</span> and $<span id="xdx_909_eus-gaap--ExtendedProductWarrantyAccrual_iI_pp0p0_c20211231__us-gaap--ChangeInAccountingEstimateByTypeAxis__custom--WarrantyMember__us-gaap--AwardDateAxis__custom--OneYearMember_zXF9ziffqMjc" title="Extended warranties">384,000</span> as of March 31, 2022 and December 31, 2021, respectively. During the three months ended March 31, 2022 and 2021, the Company recognized revenue of $<span id="xdx_909_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20220101__20220331_ziaIuhWn69Rl" title="Revenue recognized">669,510</span> and $<span id="xdx_907_eus-gaap--ContractWithCustomerLiabilityRevenueRecognized_pp0p0_c20210101__20210331_zpfekwmrgtn8" title="Revenue recognized">712,708</span>, respectively, related to the extended service-type warranties that was amortized from the deferred revenue balance at the beginning of each period. Changes in deferred revenue amounts related to extended service-type warranties will fluctuate from year to year based upon the average remaining life of the warranties at the beginning of the period and new extended service-type warranties sold during the period.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i> </i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i> </i></b></span></p> 1391586 1764034 2089195 1815871 385000 384000 669510 712708 <p id="xdx_849_eus-gaap--ConcentrationRiskCreditRisk_zrvUdwT52DEa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i><span id="xdx_861_zTbooiSApX9g">Concentration of Credit Risk and Major Customers and Suppliers</span></i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Financial instruments that potentially subject the Company to concentrations of credit risk consist of cash and cash equivalents, certificates of deposit, accounts receivable and notes receivable.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company’s cash, cash equivalents and certificates of deposit are maintained with financial institutions with high credit standings and are FDIC insured deposits. The FDIC insures deposits according to the ownership category in which the funds are insured and how the accounts are titled. The standard deposit insurance coverage limit is $<span id="xdx_903_eus-gaap--CashFDICInsuredAmount_iI_pp0p0_c20220331_zQiYCF1A6tgk" title="FDIC insured amount">250,000</span> per depositor, per FDIC-insured bank, per ownership category. The Company had uninsured cash and cash equivalents of $<span id="xdx_902_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20220331_zqEYmpOlebdb" title="Uninsured cash and cash equivalents">15,184,899</span> and $<span id="xdx_907_eus-gaap--CashUninsuredAmount_iI_pp0p0_c20211231_zOcp1VK89kWk" title="Uninsured cash and cash equivalents">19,207,786</span> as of March 31, 2022 and December 31, 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Most sales are to governments that are typically made on credit and the Company generally does not require collateral. Management performs ongoing credit evaluations of its customers’ financial condition and maintains an allowance for estimated losses. Historically, the Company has experienced minimal charges relative to doubtful accounts.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Historically, the Company primarily sells its products to United States federal and state agencies. For the three months ended March 31, 2022, one foreign agency comprised <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20220101__20220331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneCommercialCustomerMember_zWtObs6h5JE4" title="Concentration of credit risk">16</span>% of total net sales. By comparison, for the three months ended March 31, 2021, one federal agency comprised <span id="xdx_901_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneFederalAgencyMember_zRhBB2NZREzl" title="Concentration of credit risk">10%</span> and one foreign agency comprised <span id="xdx_90E_eus-gaap--ConcentrationRiskPercentage1_dp_uPure_c20210101__20210331__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--RevenueFromContractWithCustomerProductAndServiceBenchmarkMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember__srt--StatementGeographicalAxis__custom--OneForeignAgencyMember_ztsTDJ9EGOei" title="Concentration of credit risk">22</span>% of total net sales.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">As of March 31, 2022, one federal agency comprised 14% of total accounts receivable. By comparison, as of December 31, 2021, the Company did not have any customer that accounted for more than <span id="xdx_909_eus-gaap--ConcentrationRiskPercentage1_pid_dp_uPure_c20210101__20211231__srt--StatementGeographicalAxis__custom--OneStateAgencyMember__us-gaap--ConcentrationRiskByBenchmarkAxis__us-gaap--AccountsReceivableMember__us-gaap--ConcentrationRiskByTypeAxis__us-gaap--CustomerConcentrationRiskMember_z8SJkW9dgBR" title="Concentration of credit risk">10</span>% of total accounts receivable.</span></p> 250000 15184899 19207786 0.16 0.10 0.22 0.10 <p id="xdx_846_eus-gaap--EarningsPerSharePolicyTextBlock_z6EizbAsuVPf" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Net Income (Loss)per Common Share</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zU8M2iSeJU4k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants were exercised. Earnings per share computations are as follows:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_ztxErvRBveXl">Schedule of Earnings Per Share</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.15in"> <tr style="display: none; vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_491_20220101__20220331_zcUMfTAROEe" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_491_20210101__20210331_zd15d5RnTsEc" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">Three Months Ended March 31,</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr id="xdx_402_eus-gaap--NetIncomeLoss_zg59B0eko6vc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="width: 2%; padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 20%; text-align: right">577,074</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left"> </td><td style="width: 2%; padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 20%; text-align: right">655,163</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_z4YjIBqDp6ml" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Weighted average common stock outstanding</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">10,807,269</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">7,775,212</td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--IncrementalCommonSharesAttributableToCallOptionsAndWarrants_zcwK3j56UK92" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Incremental shares from stock options</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">43,107</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">60,618</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zPyLd5559mzk" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 2.5pt">Weighted average common stock outstanding diluted</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td style="border-bottom: Black 2.5pt double; text-align: right">10,850,376</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td style="border-bottom: Black 2.5pt double; text-align: right">7,835,830</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Net income per common share and common equivalent shares</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--EarningsPerShareBasic_z93raXlvW8jj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Basic</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.05</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.08</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_zHkaidIofo42" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt">Diluted</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.05</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.08</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A0_zf8GrtA0rnC4" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company has potentially dilutive securities outstanding that are not included in the diluted earnings per share calculation for the three months ended March 31, 2022 and 2021 because their effect would be anti-dilutive. These potentially dilutive securities, comprised entirely of the Company’s stock options, totaled <span id="xdx_90E_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20220101__20220331_zpbG0O402Uz6" title="Anti-dilutive securities excluded from computation of earnings per share"><span id="xdx_909_eus-gaap--AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_c20210101__20210331_zsmoazKsa5Vg" title="Anti-dilutive securities excluded from computation of earnings per share">0</span></span> for the three months ended March 31, 2022 and 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89E_eus-gaap--ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_zU8M2iSeJU4k" style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The net income per common share is computed by dividing net income by the weighted average of common shares outstanding. Diluted net income per share reflects the potential dilution, using the treasury stock method, that would occur if outstanding stock options and warrants were exercised. Earnings per share computations are as follows:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8BA_ztxErvRBveXl">Schedule of Earnings Per Share</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.15in"> <tr style="display: none; vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_491_20220101__20220331_zcUMfTAROEe" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_491_20210101__20210331_zd15d5RnTsEc" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">Three Months Ended March 31,</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr id="xdx_402_eus-gaap--NetIncomeLoss_zg59B0eko6vc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left; padding-bottom: 2.5pt">Net income</td><td style="width: 2%; padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 20%; text-align: right">577,074</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left"> </td><td style="width: 2%; padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; width: 1%; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; width: 20%; text-align: right">655,163</td><td style="width: 1%; padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--WeightedAverageNumberOfSharesOutstandingBasic_z4YjIBqDp6ml" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Weighted average common stock outstanding</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">10,807,269</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">7,775,212</td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--IncrementalCommonSharesAttributableToCallOptionsAndWarrants_zcwK3j56UK92" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Incremental shares from stock options</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">43,107</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">60,618</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--WeightedAverageNumberOfDilutedSharesOutstanding_zPyLd5559mzk" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left; padding-bottom: 2.5pt">Weighted average common stock outstanding diluted</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td style="border-bottom: Black 2.5pt double; text-align: right">10,850,376</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td style="border-bottom: Black 2.5pt double; text-align: right">7,835,830</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Net income per common share and common equivalent shares</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--EarningsPerShareBasic_z93raXlvW8jj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt">Basic</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.05</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.08</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--EarningsPerShareDiluted_zHkaidIofo42" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt">Diluted</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.05</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">0.08</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 577074 655163 10807269 7775212 43107 60618 10850376 7835830 0.05 0.08 0.05 0.08 0 0 <p id="xdx_80D_eus-gaap--InventoryDisclosureTextBlock_ztBySJOaR7Z6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 2. <span id="xdx_82B_zduftSx10Pll">Inventory</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zpGLfpSBPQh4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B1_zhDIsJAoxwI5" style="display: none">Schedule of Inventory</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.15in"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_498_20220331_zUM7Uwi02aCf" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_490_20211231_zi8bkKEjAVA3" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </td></tr> <tr id="xdx_405_eus-gaap--InventoryWorkInProcessAndRawMaterials_iI_pp0p0_maINzu8Z_z02SBRYK4Fm9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">Raw materials and work in process</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">7,250,492</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">5,229,636</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--InventoryValuationReserves_iNI_pdp0_di_msINzu8Z_zc5CifXsXsjf" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Reserve</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(302,431</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(214,712</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--InventoryNet_iTI_pp0p0_mtINzu8Z_zEbZoPuk8xhh" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total inventory</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,948,061</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,014,924</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A2_ztus5uhRvbig" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company regularly evaluates the useful life of its spare parts inventory and as a result, the Company classified $<span id="xdx_90D_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20220331__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zilKESQIaYqh" title="Other assets, long-term">322,968</span> and $<span id="xdx_905_eus-gaap--OtherAssetsNoncurrent_iI_pp0p0_c20211231__us-gaap--BalanceSheetLocationAxis__custom--SparePartsMember_zbmJm9gfT7b6" title="Other assets, long-term">136,241</span> of spare parts as Other Assets, long-term on the Balance Sheet at March 31, 2022 and December 31, 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_899_eus-gaap--ScheduleOfInventoryCurrentTableTextBlock_zpGLfpSBPQh4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Inventory consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B1_zhDIsJAoxwI5" style="display: none">Schedule of Inventory</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.15in"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_498_20220331_zUM7Uwi02aCf" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_490_20211231_zi8bkKEjAVA3" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </td></tr> <tr id="xdx_405_eus-gaap--InventoryWorkInProcessAndRawMaterials_iI_pp0p0_maINzu8Z_z02SBRYK4Fm9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">Raw materials and work in process</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">7,250,492</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">5,229,636</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--InventoryValuationReserves_iNI_pdp0_di_msINzu8Z_zc5CifXsXsjf" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt">Reserve</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(302,431</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(214,712</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_408_eus-gaap--InventoryNet_iTI_pp0p0_mtINzu8Z_zEbZoPuk8xhh" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total inventory</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">6,948,061</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">5,014,924</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 7250492 5229636 302431 214712 6948061 5014924 322968 136241 <p id="xdx_808_eus-gaap--PropertyPlantAndEquipmentDisclosureTextBlock_z5vMfoBR9B4c" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 3. <span><span id="xdx_828_zbwTYhsQ8hm6">Property and Equipment</span></span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89E_eus-gaap--PropertyPlantAndEquipmentTextBlock_zSJ8oh6Mzm4l" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property and equipment consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B6_zX5zEpPT3jMd" style="display: none">Schedule of Property and Equipment</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.25in"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_49D_20220331_zeC0EkEhlqqk" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_497_20211231_z66Pae4qzTQ9" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </td></tr> <tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zH2zW7RIwrQd" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%">Land</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,778,987</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,778,987</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zWKz4H0N8zA2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Building &amp; Building Improvements</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,038,279</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,005,205</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zAd23OjBODp7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Computer equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,176,400</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,171,319</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--FurnitureAndOfficeEquipmentMember_zuHCF3eb73Wf" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Furniture and office equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">262,814</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">262,814</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2romIbJuA1e" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Machinery and equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,447,373</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,970,007</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--STEPEquipmentMember_zqtvzOS0oQh5" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">STEP equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,572,228</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,496,252</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zfFtswdrTzJ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Leasehold improvements</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">334,934</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">334,934</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ConstructionInProgressMember_zaeoiwNtbCma" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Construction in Progress</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">219,936</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">7,000</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--PropertyPlantAndEquipmentGross_iI_maPPAENzO3V_zZHTqWa1drE8" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Total property and equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">16,830,951</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">16,026,518</td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_msPPAENzO3V_z87o8BPYxvnj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Less: Accumulated depreciation and amortization</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(3,356,688</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(3,161,752</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzO3V_zZiX4YKydyV9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left">Property and equipment, net</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">13,474,263</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">12,864,766</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8AA_zGeXt2nd6Lf5" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Depreciation expense, including STEP depreciation, was $<span id="xdx_90D_eus-gaap--Depreciation_pp0p0_c20220101__20220331_zT4c30eL8m2f" title="Depreciation expense">195,031</span> and $<span id="xdx_902_eus-gaap--Depreciation_pp0p0_c20210101__20210331_zBhvZAYiVC71" title="Depreciation expense">95,068</span> for the three months ended March 31, 2022 and 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89E_eus-gaap--PropertyPlantAndEquipmentTextBlock_zSJ8oh6Mzm4l" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Property and equipment consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B6_zX5zEpPT3jMd" style="display: none">Schedule of Property and Equipment</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.25in"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_49D_20220331_zeC0EkEhlqqk" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_497_20211231_z66Pae4qzTQ9" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </td></tr> <tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LandMember_zH2zW7RIwrQd" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 56%">Land</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,778,987</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,778,987</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--BuildingAndBuildingImprovementsMember_zWKz4H0N8zA2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Building &amp; Building Improvements</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,038,279</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">9,005,205</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ComputerEquipmentMember_zAd23OjBODp7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Computer equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,176,400</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,171,319</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--FurnitureAndOfficeEquipmentMember_zuHCF3eb73Wf" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Furniture and office equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">262,814</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">262,814</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--MachineryAndEquipmentMember_z2romIbJuA1e" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Machinery and equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">2,447,373</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,970,007</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--STEPEquipmentMember_zqtvzOS0oQh5" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">STEP equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,572,228</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">1,496,252</td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--LeaseholdImprovementsMember_zfFtswdrTzJ2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Leasehold improvements</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">334,934</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">334,934</td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--PropertyPlantAndEquipmentGross_iI_hus-gaap--PropertyPlantAndEquipmentByTypeAxis__us-gaap--ConstructionInProgressMember_zaeoiwNtbCma" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Construction in Progress</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">219,936</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">7,000</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--PropertyPlantAndEquipmentGross_iI_maPPAENzO3V_zZHTqWa1drE8" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Total property and equipment</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">16,830,951</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">16,026,518</td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_iNI_di_msPPAENzO3V_z87o8BPYxvnj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Less: Accumulated depreciation and amortization</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(3,356,688</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(3,161,752</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--PropertyPlantAndEquipmentNet_iTI_mtPPAENzO3V_zZiX4YKydyV9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left">Property and equipment, net</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">13,474,263</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">12,864,766</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 1778987 1778987 9038279 9005205 1176400 1171319 262814 262814 2447373 1970007 1572228 1496252 334934 334934 219936 7000 16830951 16026518 3356688 3161752 13474263 12864766 195031 95068 <p id="xdx_802_eus-gaap--IntangibleAssetsDisclosureTextBlock_zHBWtfz1Sbo6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 4. <span id="xdx_829_zIzZyiYZOYTd">Intangible Asset</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89E_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zNNYG2TGsJPa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible asset consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B2_zLsz5f4y4el7" style="display: none">Schedule of Intangible Asset</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.35in"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_49B_20220331_zpdf3FOv5Kn9" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_493_20211231_zbii3xPdSla9" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zwpJVtj5Jwah" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%">Patents</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">160,000</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">160,000</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--CapitalizedMediaContentMember_zv4VHMYjr4b2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Capitalized media content</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">382,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">331,228</td><td style="text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--AcquiredLeaseIntangibleAssetsMember_zENgYATYm9c1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Acquired lease intangible assets</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">83,963</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">83,963</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_maIANEGzWG1_z49fvsYi9ymg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Total intangible assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">626,835</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">575,191</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_di_msIANEGzWG1_zOIymLAmR8u2" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Less accumulated amortization</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(60,676</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(40,112</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iTI_mtIANEGzWG1_zW3oeJRf221b" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Intangible assets, net</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">566,159</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">535,079</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A2_zLmB5YJvy7Yl" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Amortization expense was $<span id="xdx_90B_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20220101__20220331_zNfYCLj8lVjg" title="Amortization of intangible asset">20,564</span> and $<span id="xdx_90B_eus-gaap--AmortizationOfIntangibleAssets_pp0p0_c20210101__20210331_zrXpxzmfmlFg" title="Amortization of intangible asset">2,222</span> for the three months ended March 31, 2022 and 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89E_eus-gaap--ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock_zNNYG2TGsJPa" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Intangible asset consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B2_zLsz5f4y4el7" style="display: none">Schedule of Intangible Asset</span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.35in"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_49B_20220331_zpdf3FOv5Kn9" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" id="xdx_493_20211231_zbii3xPdSla9" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr id="xdx_40C_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__us-gaap--PatentsMember_zwpJVtj5Jwah" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%">Patents</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">160,000</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">160,000</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--CapitalizedMediaContentMember_zv4VHMYjr4b2" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Capitalized media content</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">382,872</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">331,228</td><td style="text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_hus-gaap--FiniteLivedIntangibleAssetsByMajorClassAxis__custom--AcquiredLeaseIntangibleAssetsMember_zENgYATYm9c1" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Acquired lease intangible assets</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">83,963</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">83,963</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--FiniteLivedIntangibleAssetsGross_iI_maIANEGzWG1_z49fvsYi9ymg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Total intangible assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">626,835</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">575,191</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--FiniteLivedIntangibleAssetsAccumulatedAmortization_iNI_di_msIANEGzWG1_zOIymLAmR8u2" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Less accumulated amortization</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(60,676</td><td style="padding-bottom: 1pt; text-align: left">)</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(40,112</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--IntangibleAssetsNetExcludingGoodwill_iTI_mtIANEGzWG1_zW3oeJRf221b" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Intangible assets, net</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">566,159</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">535,079</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 160000 160000 382872 331228 83963 83963 626835 575191 60676 40112 566159 535079 20564 2222 <p id="xdx_800_eus-gaap--LeasesOfLesseeDisclosureTextBlock_zhILD6nLexH4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 5. <span id="xdx_82C_z25gmSW03pg">Leases</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_896_ecustom--ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_gL3SOBSCOLAAL-TDILN_zCXtVlQCUSX9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The balance sheet classification of lease assets and liabilities as of March 31, 2022 was as follows:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8BC_z3rIRTZQRQnd" style="display: none">Schedule of Balance Sheet Classification of Lease Assets and Liabilities</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.35in"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49F_20220101__20220331_z4YWXQO3u98f" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Classification</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt; font-weight: bold"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zyC6XvddUipa" style="vertical-align: bottom; background-color: White"> <td style="width: 78%; text-align: left">Operating lease right-of-use assets, December 31, 2021</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">784,306</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zLkOCHqFlnPe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Amortization for the three months ended March 31, 2022</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(79,853</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z5ajPTYC5YMc" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, March 31, 2022</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">704,453</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Liabilities</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--OperatingLeaseLiabilityCurrent_iE_zpk9XeJxpwQk" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">354,496</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Non-current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zAgnkWJN7BLl" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">415,260</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zz1FhszYryq" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">769,756</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A3_zeBWbvJ7PFD7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_890_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_gL3LOLLMTTB-KYBAPTO_zhO4KqGAuDvg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future minimum lease payments as of March 31, 2022 under non-cancelable operating leases are as follows:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8BD_zmSIMldd9hgg" style="display: none">Schedule of Future Minimum Lease Payments</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%; margin-left: 0.25in"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_490_20220331_zKnT70ldaj6a" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_z1OTSYwJBaK6" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 83%; text-align: left">2022</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">286,412</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zfms4BLDNY8g" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2023</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">390,562</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_zzEIBjbzXewj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">2024</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">131,152</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zG7StX24SmM5" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease payments</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">808,126</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zBbuSOFBiQFc" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less: imputed interest</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(38,370</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_401_eus-gaap--OperatingLeaseLiability_iI_ztohb7fSQnIg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating lease liability</span></td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">769,756</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8AE_zghmedxDbSic" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; display: none; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_C0E_gL3SOBSCOLAAL-TDILN_zJ5mjROG2cQ7"> </span></span></p> <div id="xdx_C06_gL3SOBSCOLAAL-TDILN_zTSPdFQqeIYc"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span><span><span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:</span></span></span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <table cellpadding="0" cellspacing="0" id="xdx_308_134_zWXOTdzsz7Kc" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.25in" summary="xdx: Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49C_20210101__20211231_zvARcA524Fqa" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Classification</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt; font-weight: bold"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zLoh0qfVFkl4" style="vertical-align: bottom; background-color: White"> <td style="width: 78%; text-align: left">Operating lease right-of-use assets, December 31, 2020</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,094,527</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zw3iFzPX654l" style="display: none; vertical-align: bottom; background-color: White"> <td style="text-align: left">Operating lease right-of-use assets, beginning</td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">1,094,527</td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zpCbLZ5xh938" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Amortization for the year ended December 31, 2021</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zNC7mrcKQjnl" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Amortization</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zhwPd0Ewingh" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, December 31, 2021</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">784,306</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zbF8WLGFV8C6" style="display: none; vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, ending</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">784,306</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Liabilities</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityCurrent_iE_zTGEhqAr23I7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">347,772</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Non-current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zAgxfKbE2gJ5" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">505,383</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zLoktcAm4Ej7" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">853,155</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> </div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"/> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span><span><span><span id="xdx_C0B_gL3LOLLMTTB-KYBAPTO_zmeonxGzpzp3"> </span></span></span></span></span></p> <div id="xdx_C04_gL3LOLLMTTB-KYBAPTO_zqBmPATvBbbh"><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span><span><span>Future minimum lease payments as of December 31, 2021 under non-cancelable operating leases are as follows:</span></span></span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <table cellpadding="0" cellspacing="0" id="xdx_302_134_zBIXFCy9b5R1" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - Schedule of Future Minimum Lease Payments (Details)"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49B_20211231_zEMcis12Gmjl" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_zcUiy5SEXLBi" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 82%; text-align: left">2022</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 13%; text-align: right">379,097</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zu4vE1umKNk8" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2023</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">390,562</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_zrrwhMmqEvm2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">2024</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">131,152</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zRCHVqNX0dbc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease payments</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">900,811</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zrHtKPRkzfbb" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less: imputed interest</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(47,656</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zCpkfcETXksj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating lease liability</span></td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">853,155</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> </div><p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_C0C_gL3LOLLMTTB-KYBAPTO_zyGeAXhNCUI7"> </span></span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Rent expense for the three months ended March 31, 2022 and 2021 was $<span id="xdx_905_eus-gaap--PaymentsForRent_pp0p0_c20220101__20220331_zVV4Jk9NPyZg" title="Rent expenses">209,252</span> and $<span id="xdx_901_eus-gaap--PaymentsForRent_pp0p0_c20210101__20210331_z5YYOCdWBxHg" title="Rent expenses">143,757</span>, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_896_ecustom--ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock_gL3SOBSCOLAAL-TDILN_zCXtVlQCUSX9" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The balance sheet classification of lease assets and liabilities as of March 31, 2022 was as follows:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8BC_z3rIRTZQRQnd" style="display: none">Schedule of Balance Sheet Classification of Lease Assets and Liabilities</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 90%; margin-left: 0.35in"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49F_20220101__20220331_z4YWXQO3u98f" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Classification</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt; font-weight: bold"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zyC6XvddUipa" style="vertical-align: bottom; background-color: White"> <td style="width: 78%; text-align: left">Operating lease right-of-use assets, December 31, 2021</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">784,306</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_404_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zLkOCHqFlnPe" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Amortization for the three months ended March 31, 2022</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(79,853</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_z5ajPTYC5YMc" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, March 31, 2022</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">704,453</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Liabilities</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--OperatingLeaseLiabilityCurrent_iE_zpk9XeJxpwQk" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">354,496</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Non-current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zAgnkWJN7BLl" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">415,260</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zz1FhszYryq" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">769,756</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table>  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span><span><span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The balance sheet classification of lease assets and liabilities as of December 31, 2021 was as follows:</span></span></span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <table cellpadding="0" cellspacing="0" id="xdx_308_134_zWXOTdzsz7Kc" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 85%; margin-left: 0.25in" summary="xdx: Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49C_20210101__20211231_zvARcA524Fqa" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">Balance Sheet Classification</td><td style="font-weight: bold; padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; font-weight: bold; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt; font-weight: bold"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Assets</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_406_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zLoh0qfVFkl4" style="vertical-align: bottom; background-color: White"> <td style="width: 78%; text-align: left">Operating lease right-of-use assets, December 31, 2020</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 18%; text-align: right">1,094,527</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--OperatingLeaseRightOfUseAsset_iS_zw3iFzPX654l" style="display: none; vertical-align: bottom; background-color: White"> <td style="text-align: left">Operating lease right-of-use assets, beginning</td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">1,094,527</td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zpCbLZ5xh938" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Amortization for the year ended December 31, 2021</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseRightOfUseAssetAmortizationExpense_iN_di_zNC7mrcKQjnl" style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Amortization</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(310,221</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40D_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zhwPd0Ewingh" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, December 31, 2021</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">784,306</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseRightOfUseAsset_iE_zbF8WLGFV8C6" style="display: none; vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total operating lease right-of-use asset, ending</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">784,306</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold">Liabilities</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--OperatingLeaseLiabilityCurrent_iE_zTGEhqAr23I7" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-left: 10pt; text-align: left">Operating lease liability, short-term</td><td> </td> <td style="text-align: left">$</td><td style="text-align: right">347,772</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Non-current</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--OperatingLeaseLiabilityNoncurrent_iE_zAgxfKbE2gJ5" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; padding-left: 10pt; text-align: left">Operating lease liability, long-term</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">505,383</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--OperatingLeaseLiability_iE_zLoktcAm4Ej7" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total lease liabilities</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">853,155</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 784306 79853 704453 354496 415260 769756 <p id="xdx_890_eus-gaap--LesseeOperatingLeaseLiabilityMaturityTableTextBlock_gL3LOLLMTTB-KYBAPTO_zhO4KqGAuDvg" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Future minimum lease payments as of March 31, 2022 under non-cancelable operating leases are as follows:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8BD_zmSIMldd9hgg" style="display: none">Schedule of Future Minimum Lease Payments</span></span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"/></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 50%; margin-left: 0.25in"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_490_20220331_zKnT70ldaj6a" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_z1OTSYwJBaK6" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 83%; text-align: left">2022</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 12%; text-align: right">286,412</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zfms4BLDNY8g" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2023</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">390,562</td><td style="text-align: left"> </td></tr> <tr id="xdx_40A_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_zzEIBjbzXewj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">2024</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">131,152</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zG7StX24SmM5" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease payments</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">808,126</td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zBbuSOFBiQFc" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less: imputed interest</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(38,370</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_401_eus-gaap--OperatingLeaseLiability_iI_ztohb7fSQnIg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating lease liability</span></td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">769,756</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table>  <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 22.5pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span><span><span>Future minimum lease payments as of December 31, 2021 under non-cancelable operating leases are as follows:</span></span></span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <table cellpadding="0" cellspacing="0" id="xdx_302_134_zBIXFCy9b5R1" style="font: 10pt Times New Roman, Times, Serif; margin-left: auto; border-collapse: collapse; width: 50%; margin-right: auto" summary="xdx: Disclosure - Schedule of Future Minimum Lease Payments (Details)"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49B_20211231_zEMcis12Gmjl" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear_iI_maLOLLPz7cP_zcUiy5SEXLBi" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 82%; text-align: left">2022</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 13%; text-align: right">379,097</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_409_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths_iI_maLOLLPz7cP_zu4vE1umKNk8" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">2023</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">390,562</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDueYearTwo_iI_maLOLLPz7cP_zrrwhMmqEvm2" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">2024</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">131,152</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="text-align: left"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40B_eus-gaap--LesseeOperatingLeaseLiabilityPaymentsDue_iTI_mtLOLLPz7cP_zRCHVqNX0dbc" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Total lease payments</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">900,811</td><td style="text-align: left"> </td></tr> <tr id="xdx_40E_eus-gaap--LesseeOperatingLeaseLiabilityUndiscountedExcessAmount_iNI_di_zrHtKPRkzfbb" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Less: imputed interest</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">(47,656</td><td style="padding-bottom: 1pt; text-align: left">)</td></tr> <tr id="xdx_40F_eus-gaap--OperatingLeaseLiability_iI_zCpkfcETXksj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Operating lease liability</span></td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">853,155</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table>   286412 390562 131152 808126 38370 769756 1094527 1094527 310221 310221 784306 784306 347772 505383 853155 379097 390562 131152 900811 47656 853155 209252 143757 <p id="xdx_807_eus-gaap--AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock_zUcut4qJuA6j" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 6. <span id="xdx_82E_zDoEdZ8Gjqo8">Accrued Expenses</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_894_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zrZBvowEZIl4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued compensation and related costs consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zOzxJR56g3El" style="display: none">Schedule of Accrued Compensation and Related Costs</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.25in"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49E_20220331_zOm0LVRbztvg" style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49D_20211231_zFo74xusDpN1" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </td></tr> <tr id="xdx_403_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maERLCzLng_zWkbxevIU3gi" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">Salaries and wages payable</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">161,972</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">422,562</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--AccruedEmployeeBenefitsCurrent_iI_pp0p0_maERLCzLng_zZvOyLHZEFRh" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Employee benefits payable</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">27,991</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">16,523</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--AccruedVacationCurrent_iI_pp0p0_maERLCzLng_zrxSEEtbSXPg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Accrued paid time off (PTO)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">528,152</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">483,311</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredCompensationCashBasedArrangementsLiabilityCurrent_iI_pp0p0_maERLCzLng_zJXQOdQs9Ubb" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Profit sharing payable</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">214,682</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">139,682</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--EmployeeRelatedLiabilitiesCurrent_iTI_pp0p0_mtERLCzLng_ziCiiX4OFAh8" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total accrued compensation and related costs</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">932,797</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,062,078</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A1_zvtH0yuhubed" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_896_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_zSoAytRevO4b" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued expenses and other current liabilities consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B3_zg3FIcplXugl" style="display: none">Schedule of Accrued Expenses and Other Current Liabilities</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%"> <tr style="display: none; vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_493_20220331_zFObGw4S47U3" style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_492_20211231_zaPIoSwaE5tk" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: center"> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td></tr> <tr id="xdx_408_eus-gaap--ProductWarrantyAccrualClassifiedCurrent_iI_pp0p0_maAPAOAzeBe_maAPAOAzNHf_z2MKfKApEgzg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">Manufacturer’s warranties</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">385,000</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">384,000</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--TaxesPayableCurrent_iI_pp0p0_maAPAOAzNHf_zPO0bTWWdO4l" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Taxes payable</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">276,754</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">113,921</td><td style="text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--OtherBorrowings_iI_pp0p0_maAPAOAzNHf_zpWX8Doiohsh" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Miscellaneous payable</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">510,835</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">493,823</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_iTI_pp0p0_mtAPAOAzNHf_zK6gKAazkGZj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left">Total accrued expenses and other current liabilities</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,172,589</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">991,744</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8AA_zgMnuGpA321e" style="display: none; margin-top: 0; margin-bottom: 0"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_894_eus-gaap--ScheduleOfAccruedLiabilitiesTableTextBlock_zrZBvowEZIl4" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; margin-left: 0; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued compensation and related costs consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: center"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span id="xdx_8B1_zOzxJR56g3El" style="display: none">Schedule of Accrued Compensation and Related Costs</span><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 80%; margin-left: 0.25in"> <tr style="display: none; vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49E_20220331_zOm0LVRbztvg" style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49D_20211231_zFo74xusDpN1" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td> </td><td> </td> <td colspan="2"> </td><td> </td><td> </td> <td colspan="2"> </td><td> </td></tr> <tr id="xdx_403_eus-gaap--AccruedSalariesCurrent_iI_pp0p0_maERLCzLng_zWkbxevIU3gi" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">Salaries and wages payable</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">161,972</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">422,562</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_400_eus-gaap--AccruedEmployeeBenefitsCurrent_iI_pp0p0_maERLCzLng_zZvOyLHZEFRh" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Employee benefits payable</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">27,991</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">16,523</td><td style="text-align: left"> </td></tr> <tr id="xdx_407_eus-gaap--AccruedVacationCurrent_iI_pp0p0_maERLCzLng_zrxSEEtbSXPg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="text-align: left">Accrued paid time off (PTO)</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">528,152</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">483,311</td><td style="text-align: left"> </td></tr> <tr id="xdx_402_eus-gaap--DeferredCompensationCashBasedArrangementsLiabilityCurrent_iI_pp0p0_maERLCzLng_zJXQOdQs9Ubb" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Profit sharing payable</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">214,682</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">139,682</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--EmployeeRelatedLiabilitiesCurrent_iTI_pp0p0_mtERLCzLng_ziCiiX4OFAh8" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Total accrued compensation and related costs</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">932,797</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,062,078</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 161972 422562 27991 16523 528152 483311 214682 139682 932797 1062078 <p id="xdx_896_eus-gaap--AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock_zSoAytRevO4b" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Accrued expenses and other current liabilities consisted of the following as of:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B3_zg3FIcplXugl" style="display: none">Schedule of Accrued Expenses and Other Current Liabilities</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 75%"> <tr style="display: none; vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_493_20220331_zFObGw4S47U3" style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_492_20211231_zaPIoSwaE5tk" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: center"> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td></tr> <tr id="xdx_408_eus-gaap--ProductWarrantyAccrualClassifiedCurrent_iI_pp0p0_maAPAOAzeBe_maAPAOAzNHf_z2MKfKApEgzg" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 52%; text-align: left">Manufacturer’s warranties</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">385,000</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 20%; text-align: right">384,000</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_401_eus-gaap--TaxesPayableCurrent_iI_pp0p0_maAPAOAzNHf_zPO0bTWWdO4l" style="vertical-align: bottom; background-color: White"> <td style="text-align: left">Taxes payable</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">276,754</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right">113,921</td><td style="text-align: left"> </td></tr> <tr id="xdx_405_eus-gaap--OtherBorrowings_iI_pp0p0_maAPAOAzNHf_zpWX8Doiohsh" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Miscellaneous payable</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">510,835</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">493,823</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--AccountsPayableAndOtherAccruedLiabilitiesCurrent_iTI_pp0p0_mtAPAOAzNHf_zK6gKAazkGZj" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left">Total accrued expenses and other current liabilities</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">1,172,589</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">991,744</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 385000 384000 276754 113921 510835 493823 1172589 991744 <p id="xdx_805_eus-gaap--DebtDisclosureTextBlock_zTGOUiS3c3Ak" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 7. <span id="xdx_82F_zAI9rxDszrF1">Note Payable</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On August 25, 2021, the Company completed the purchase of real property located in Chandler, Arizona (the “Property”) for $<span id="xdx_906_eus-gaap--PaymentsToAcquirePropertyPlantAndEquipment_c20210801__20210825__us-gaap--PropertyPlantAndEquipmentByTypeAxis__custom--PropertyMember_pp0p0" title="Payment to acquire assets">10,800,000</span>, paid with cash and proceeds from a mortgage loan from Arizona Bank &amp; Trust in the amount of $<span id="xdx_90F_eus-gaap--ProceedsFromLoans_c20210801__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_pp0p0" title="Proceeds from bank loan">8,600,000</span>. The loan terms include interest to be accrued at a fixed rate of <span id="xdx_900_eus-gaap--DebtInstrumentInterestRateDuringPeriod_pid_dp_uPure_c20210801__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zUk2JIevcuta" title="Debt instrument interest rate">3</span>% per year, 119 regular monthly payments of $<span id="xdx_90A_eus-gaap--DebtInstrumentPeriodicPayment_c20210801__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneHundredAndNineteenRegularMonthlyPaymentsMember_pp0p0" title="Debt instrument periodic payment">40,978</span>, and one irregular payment of $<span id="xdx_90C_eus-gaap--DebtInstrumentPeriodicPayment_c20210801__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember__us-gaap--DebtInstrumentAxis__custom--OneIrregularPaymentMember_pp0p0" title="Debt instrument periodic payment">5,956,538</span> due on the maturity date of <span id="xdx_907_eus-gaap--DebtInstrumentMaturityDate_c20210801__20210825__dei--LegalEntityAxis__custom--ArizonaBankAndTrustMember_zlneW5Td4xol" title="Maturity date">August 23, 2031</span>. The Company began making monthly payments on September 23, 2021. The payment and performance of the loan is secured by a security interest in the property acquired.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zgpMEDDhbYPc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The note payable amounts consist of the following:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B7_zSD2UflHay2k" style="display: none">Schedule of Notes Payable</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 70%"> <tr style="display: none; vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49A_20220331_zrSmFgD4sRI5" style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_498_20211231_zF1hsc8HVlQf" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: center"> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold; text-align: left">Short-term liabilities:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zOfWGt7dhLP4" style="vertical-align: bottom; background-color: White"> <td style="width: 44%; text-align: left">Note payable, principal</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 24%; text-align: right">230,689</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 24%; text-align: right">231,871</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--InterestPayableCurrent_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zmeiv45rJky6" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Accrued interest on note</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">4,455</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">4,420</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--NotesPayableCurrent_iTI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_mtNPCzD1Q_zVAVB9DE3jO9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left">Note payable, short-term</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">235,144</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">236,291</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold; text-align: left">Long-term liabilities:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--DebtInstrumentFaceAmount_iI_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zKZefxI15134" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Note payable, principal</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">8,222,666</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">8,280,395</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--LongTermNotesPayable_iI_pp0p0_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zghUge4ZHymb" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Note payable, long term</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,222,666</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,280,395</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> <p id="xdx_8A7_zbLAiQKAmQdj" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> 10800000 8600000 0.03 40978 5956538 2031-08-23 <p id="xdx_89D_eus-gaap--ScheduleOfDebtTableTextBlock_zgpMEDDhbYPc" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The note payable amounts consist of the following:</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B7_zSD2UflHay2k" style="display: none">Schedule of Notes Payable</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; margin-left: 0.5in; border-collapse: collapse; width: 70%"> <tr style="display: none; vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_49A_20220331_zrSmFgD4sRI5" style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_498_20211231_zF1hsc8HVlQf" style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center">December 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: center"> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td><td> </td> <td colspan="2" style="text-align: center"> </td><td> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold; text-align: left">Short-term liabilities:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_403_eus-gaap--DebtInstrumentFaceAmount_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zOfWGt7dhLP4" style="vertical-align: bottom; background-color: White"> <td style="width: 44%; text-align: left">Note payable, principal</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 24%; text-align: right">230,689</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td style="width: 24%; text-align: right">231,871</td><td style="width: 1%; text-align: left"> </td></tr> <tr id="xdx_40C_eus-gaap--InterestPayableCurrent_iI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_maNPCzD1Q_zmeiv45rJky6" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Accrued interest on note</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">4,455</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td style="border-bottom: Black 1pt solid; text-align: right">4,420</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--NotesPayableCurrent_iTI_pp0p0_hus-gaap--ShortTermDebtTypeAxis__custom--NotesPayableMember_mtNPCzD1Q_zVAVB9DE3jO9" style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 2.5pt; text-align: left">Note payable, short-term</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">235,144</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">236,291</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="font-weight: bold; text-align: left">Long-term liabilities:</td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40F_eus-gaap--DebtInstrumentFaceAmount_iI_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zKZefxI15134" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 1pt; text-align: left">Note payable, principal</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">8,222,666</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td style="border-bottom: Black 1pt solid; text-align: right">8,280,395</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td style="text-align: right"> </td><td style="text-align: left"> </td></tr> <tr id="xdx_40D_eus-gaap--LongTermNotesPayable_iI_pp0p0_hus-gaap--LongtermDebtTypeAxis__custom--NotesPayableMember_zghUge4ZHymb" style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt; text-align: left">Note payable, long term</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,222,666</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td style="border-bottom: Black 2.5pt double; text-align: right">8,280,395</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> </table> 230689 231871 4455 4420 235144 236291 8222666 8280395 8222666 8280395 <p id="xdx_80E_eus-gaap--RelatedPartyTransactionsDisclosureTextBlock_zdKkVGZDLam2" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 8. <span id="xdx_823_z616Vi4awhXh">Related Party Transactions</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During the three months ended March 31, 2022 and 2021, the Company redeemed <span id="xdx_90D_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20220101__20220331__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_zrFctuLcCybl" title="Stock reedemed or called during period shares">8,750</span> and <span id="xdx_902_eus-gaap--StockRedeemedOrCalledDuringPeriodShares_pid_c20210101__20210331__srt--TitleOfIndividualAxis__custom--ChiefExecutiveOfficerAndChiefOperatingOfficerMember_z3sGHXEnly5c" title="Stock reedemed or called during period shares">8,750</span> previously awarded stock options nearing expiration from the Company’s CEO and COO. The redemption eliminated the stock options and resulted in a total of $<span id="xdx_906_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20220101__20220331_zud8qV53u0mg" title="Compensation expenses">24,150</span> and $<span id="xdx_90C_eus-gaap--AllocatedShareBasedCompensationExpense_pp0p0_c20210101__20210331_zEKCBHZB7Bcd" title="Compensation expenses">57,067</span> in additional compensation expense in 2022 and 2021, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During the three months ended March 31, 2022 and 2021, the Company issued <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20220101__20220331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z7wmkWHo71T2" title="Stock issued during the period, new issues">2,500</span> and <span id="xdx_90C_eus-gaap--StockIssuedDuringPeriodSharesNewIssues_c20210101__20210331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_z2KYLWnPGlsj" title="Stock issued during the period, new issues">2,500</span> shares of common stock, $<span id="xdx_903_eus-gaap--CommonStockParOrStatedValuePerShare_iI_c20220331__us-gaap--StatementEquityComponentsAxis__us-gaap--CommonStockMember_zE3K3aTfUqkc" title="Common stock, par value">0.0001</span> par value per share (the “Common Stock”), to one member of the Board of Directors for previously awarded stock options at an exercise price of $<span id="xdx_907_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20220101__20220331__srt--TitleOfIndividualAxis__custom--OneMemberOfTheBoardOfDirectorsMember_zfdwMy4xIaBe" title="Stock option exercised">7,975</span> and $<span id="xdx_90F_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_c20210101__20210331__srt--TitleOfIndividualAxis__custom--OneMemberOfTheBoardOfDirectorsMember_zhh9Xb4vgqEf" title="Stock option exercised">3,620</span>, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b> </b></span></p> 8750 8750 24150 57067 2500 2500 0.0001 7975 3620 <p id="xdx_80C_eus-gaap--CommitmentsAndContingenciesDisclosureTextBlock_zPQBFvekutD7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 9. <span id="xdx_82D_zG12QtnIBul7">Commitments and Contingencies</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>General or Threatened Litigation</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">From time to time, the Company is notified of threatened litigation or that a claim is being made against it. The Company evaluates contingencies on an on-going basis and has established loss provisions for matters in which losses are probable and the amount of loss can be reasonably estimated. There is no threatened litigation at this time.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Restricted Stock Unit Grants</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company granted <span id="xdx_90E_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_pid_c20220801__20220831__srt--TitleOfIndividualAxis__srt--ChiefExecutiveOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zYoBAqMURq47" title="Restricted stock option. granted">224,133</span> and <span id="xdx_906_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_pid_c20220801__20220831__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember_zXe9Qmbu7OFh" title="Stock issued during period shares restricted stock, shares">168,090</span> performance-based restricted stock units (“RSUs”) in August 2021 to its Chief Executive Officer and Chief Operating Officer, respectively. It is the Company’s policy to estimate the fair value of the RSU’s on the date of the grant and evaluate the probability of achieving the net profit (net income under GAAP) tranches quarterly. If the target is deemed probable, the expense is amortized on a straight-line basis over the remaining time period. The Company determined based on the vesting terms described above that the net profit (net income under GAAP) for the twelve months ending June 30, 2022, of $<span id="xdx_906_eus-gaap--NetIncomeLoss_c20220101__20220331__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember__us-gaap--VestingAxis__custom--TrancheMember__us-gaap--AwardDateAxis__custom--JuneThirtyTwoThousandAndTwentyTwoMember_zQadVbPCVlJ" title="Net income loss">2,500,000</span> is probable, the expense for the three months ending March 31, 2022, was $<span id="xdx_901_eus-gaap--NetIncomeLoss_c20210101__20210331__us-gaap--AwardTypeAxis__us-gaap--RestrictedStockUnitsRSUMember__us-gaap--VestingAxis__custom--TrancheMember_zL0YzaYBytW" title="Net income loss">26,250</span>.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Profit Sharing</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra provides a discretionary profit-sharing program that pays out a percentage of Company profits each year as a cash bonus to eligible employees. The cash payment is typically split into two equal payments and distributed pro-rata in April and October of the following year to only active employees. For the three months ended March 31, 2022, the amount expensed to operations was $<span id="xdx_901_eus-gaap--OperatingExpenses_c20220101__20220331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_znL8GmpPsI0b" title="Operating expenses">75,000</span>. For the three months ended March 31, 2021, <span id="xdx_903_eus-gaap--OperatingExpenses_c20210101__20210331__us-gaap--DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis__us-gaap--DeferredProfitSharingMember_zF7jAIqCFXZg" title="Operating expenses">no</span> amount was credited to operations due to uncertainty related to on-going COVID restrictions.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> 224133 168090 2500000 26250 75000 <p id="xdx_806_eus-gaap--StockholdersEquityNoteDisclosureTextBlock_zP6qL5pGkJj6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 10. <span id="xdx_823_zRomfz5xg2x">Stockholders’ Equity</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Stock Repurchase</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On October 25, 2016, the Company’s Board of Directors authorized the repurchase of up to $<span id="xdx_90C_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20161024__20161025__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_zUPk9MTOcFob" title="Stock repurchased during period, value">1</span> million of its common stock under Rule 10b-18 promulgated under the Securities Exchange Act of 1934, as amended. Purchases made pursuant to this authorization will be made in the open market, in privately negotiated transactions, or pursuant to any trading plan that may be adopted in accordance with the Rule 10b-18. The timing, manner, price and amount of any repurchases will be determined by the Company in its discretion and will be subject to economic and market conditions, stock price, applicable legal requirements and other factors. On January 9, 2019, VirTra’s Board of Directors authorized an additional $<span id="xdx_90B_eus-gaap--StockRepurchasedDuringPeriodValue_pn6n6_c20190108__20190109__us-gaap--StatementClassOfStockAxis__us-gaap--CommonStockMember__srt--RangeAxis__srt--MaximumMember_ziesAi4ErVRd" title="Stock repurchased during period, value">1</span> million be allocated for the repurchase of VirTra’s stock under the existing 10b-18 plan. The stock repurchase program was suspended as a result of interim rulings for public-company recipients of a PPP loan under the CARES Act. The stock repurchase suspension remained in effect until the PPP loan was forgiven on July 20, 2021, and has continued to remain in effect.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Treasury Stock</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">During the three months ended March 31, 2022, the Company purchased no additional treasury shares.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"> </p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>Non-qualified Stock Options</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i> </i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company has periodically issued non-qualified stock options to key employees, officers and directors under a stock option compensation plan approved by the Board of Directors in 2009. Terms of option grants are at the discretion of the Board of Directors and are generally seven years. Upon the exercise of these options, the Company expects to issue new authorized shares of its common stock. The following table summarizes all non-qualified stock options as of:</span></p> <p id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zIvDqRaNlt04" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B9_zWKzntq9yfG4" style="display: none">Schedule of Non-qualified Stock Options</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: center"> </td><td> </td> <td colspan="2" style="text-align: center">Number of</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Weighted</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Number of</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Weighted</td><td> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Stock</p> <p style="margin-top: 0; margin-bottom: 0">Options</p></td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Exercise</p> <p style="margin-top: 0; margin-bottom: 0">Price</p></td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Stock</p> <p style="margin-top: 0; margin-bottom: 0">Options</p></td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Exercise</p> <p style="margin-top: 0; margin-bottom: 0">Price</p></td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 44%; text-align: left">Options outstanding, beginning of year</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zgN1lPodw7A4" style="width: 10%; text-align: right" title="Number of Stock Options, Options outstanding, beginning of year">112,500</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zQeb9Pdoxo69" style="width: 10%; text-align: right" title="Weighted Exercise Price, Option outstanding, beginning of year">3.51</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zt5GeElKJxg" style="width: 10%; text-align: right" title="Number of Stock Options, Options outstanding, beginning of year">164,167</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zDZjSa6puTud" style="width: 10%; text-align: right" title="Weighted Exercise Price, Option outstanding, beginning of year">3.13</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Granted</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zmlm8BgZe83l" style="text-align: right" title="Number of Stock Options, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0963">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z9boMYSKJjCc" style="text-align: right" title="Weighted Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0965">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zFniWZuVd3qe" style="text-align: right" title="Number of Stock Options, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0967">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsZ5bloCfR2j" style="text-align: right" title="Weighted Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0969">-</span></td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Redeemed</td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsBRoIxQMa22" style="text-align: right" title="Number of Stock Options, Redeemed">(8,750</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z16g1eyKfdT1" style="text-align: right" title="Weighted Exercise Price, Redeemed">3.19</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zelbyBoC9Jef" style="text-align: right" title="Number of Stock Options, Redeemed">(8,750</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z4OUoqFPijoa" style="text-align: right" title="Weighted Exercise Price, Redeemed">1.45</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Exercised</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJ3Fc8GFxO88" style="text-align: right" title="Number of Stock Options, Exercised">(2,500</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zFBqqSZxzCaj" style="text-align: right" title="Weighted Exercise Price, Exercised">3.19</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zguop4kXCbZg" style="text-align: right" title="Number of Stock Options, Exercised">(2,500</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJcvcuXsM1dd" style="text-align: right" title="Weighted Exercise Price, Exercised">1.45</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Expired / terminated</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zCWMrUa7xS62" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0987">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zwBbSyVPxBu1" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0989">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z0vmyf1aWmJ" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0991">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zGadUGgnmhJh" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0993">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt">Options outstanding, end of period</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zSdnx74wIba7" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Stock Options, Options outstanding, end of period">101,250</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zMCvECWupHAk" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Exercise Price, Option outstanding end of period">3.55</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zYOV7rpYHCBh" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Stock Options, Options outstanding, end of period">152,917</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zy2xMRIEruW6" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Exercise Price, Option outstanding end of period">3.25</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Options exercisable, end of period</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z1OKNFmU9RV2" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Options exercisable, end of period">101,250</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zu3hWIGzALrd" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Options exercisable, end of period">3.55</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zL67lTvG5Yx8" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Options exercisable, end of period">152,917</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z6Cr9xa6kCm7" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Options exercisable, end of period">3.25</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> <p id="xdx_8A3_zbEqrLx05zZ6" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 20pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The Company did not have any non-vested stock options outstanding as of March 31, 2022 and December 31, 2021. The weighted average contractual term for options outstanding and exercisable at March 31, 2022 and 2021 was <span id="xdx_903_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20220101__20220331_zcqzWxZfpIe9" title="Options outstanding weighted average contractual term"><span id="xdx_909_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20220101__20220331_zju6kA8YSQl2" title="Options exercisable weighted average contractual term"><span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_dtY_c20210101__20210331_zwenZRYZzdG" title="Options outstanding weighted average contractual term"><span id="xdx_904_eus-gaap--SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_dtY_c20210101__20210331_zusuoyXt8a79" title="Options exercisable weighted average contractual term">7</span></span></span></span> years. The aggregate intrinsic value of the options outstanding and exercisable at March 31, 2022 and 2021 was $<span id="xdx_903_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20220331_zlru88KJgL5c" title="Exercisable and outstanding Intriinsic value">258,077</span> and $<span id="xdx_905_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue_iI_pp0p0_c20210331_zD8KGFo7LMde" title="Exercisable and outstanding Intriinsic value">443,036</span>, respectively. The total intrinsic value of options exercised and redeemed during the three months ended March 31, 2022 and 2021 was $<span id="xdx_905_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20220101__20220331_zI0YYNjwQqOb" title="Intriinsic value">30,675</span> and $<span id="xdx_90E_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue_pp0p0_c20210101__20210331_z46PGuZPl5Wc" title="Intriinsic value">52,898</span>, respectively. For the three months ended March 31, 2022 and 2021, the Company received payments related to the exercise of options in the amount of $<span id="xdx_908_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20220101__20220331_z3dHnmgVwG0i" title="Proceeds from stock options exrercised">7,975</span> and $<span id="xdx_901_eus-gaap--ProceedsFromStockOptionsExercised_pp0p0_c20210101__20210331_z8OL9JeT9ul8" title="Proceeds from stock options exrercised">3,620</span>, respectively. The aggregate intrinsic value is calculated as the difference between the exercise price of the underlying options and the fair value of the Company’s common stock for those stock options that have an exercise price lower than the fair value of the Company’s common stock. Options with an exercise price above the fair value of the Company’s common stock are considered to have no intrinsic value.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b><i>2017 Equity Incentive Plan</i></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.5in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Through March 31, 2022, <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensation_c20220101__20220331__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefExecutiveOfficerMember_zNFXeMesfzA1" title="Stock issued during period shares based compensation, shares">224,133</span> and <span id="xdx_902_eus-gaap--StockIssuedDuringPeriodSharesShareBasedCompensation_c20220101__20220331__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember_z1H1FTL2GYCd" title="Stock issued during period shares based compensation, shares">168,090</span> restricted stock awards and <span id="xdx_904_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c20220101__20220331__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefExecutiveOfficerMember_zNioOL0WwfX4" title="Stock issued during period shares restricted stock, shares">14,057</span> and <span id="xdx_908_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c20220101__20220331__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__srt--ChiefOperatingOfficerMember_zqKcMUA5FeGg" title="Stock issued during period shares restricted stock, shares">10,543</span> restricted shares have been granted under the Equity Plan to the Company’s CEO and COO, respectively.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> 1000000 1000000 <p id="xdx_89B_eus-gaap--ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_zIvDqRaNlt04" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> <span id="xdx_8B9_zWKzntq9yfG4" style="display: none">Schedule of Non-qualified Stock Options</span></span></span></p> <table cellpadding="0" cellspacing="0" style="font: 10pt Times New Roman, Times, Serif; border-collapse: collapse; width: 100%"> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2022</td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="6" style="border-bottom: Black 1pt solid; text-align: center">March 31, 2021</td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom"> <td style="text-align: center"> </td><td> </td> <td colspan="2" style="text-align: center">Number of</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Weighted</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Number of</td><td> </td><td> </td> <td colspan="2" style="text-align: center">Weighted</td><td> </td></tr> <tr style="vertical-align: bottom"> <td style="padding-bottom: 1pt; text-align: center"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Stock</p> <p style="margin-top: 0; margin-bottom: 0">Options</p></td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Exercise</p> <p style="margin-top: 0; margin-bottom: 0">Price</p></td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Stock</p> <p style="margin-top: 0; margin-bottom: 0">Options</p></td><td style="padding-bottom: 1pt"> </td><td style="padding-bottom: 1pt"> </td> <td colspan="2" style="border-bottom: Black 1pt solid; text-align: center"><p style="margin-top: 0; margin-bottom: 0">Exercise</p> <p style="margin-top: 0; margin-bottom: 0">Price</p></td><td style="padding-bottom: 1pt"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="width: 44%; text-align: left">Options outstanding, beginning of year</td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zgN1lPodw7A4" style="width: 10%; text-align: right" title="Number of Stock Options, Options outstanding, beginning of year">112,500</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_980_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zQeb9Pdoxo69" style="width: 10%; text-align: right" title="Weighted Exercise Price, Option outstanding, beginning of year">3.51</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iS_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zt5GeElKJxg" style="width: 10%; text-align: right" title="Number of Stock Options, Options outstanding, beginning of year">164,167</td><td style="width: 1%; text-align: left"> </td><td style="width: 2%"> </td> <td style="width: 1%; text-align: left">$</td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iS_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zDZjSa6puTud" style="width: 10%; text-align: right" title="Weighted Exercise Price, Option outstanding, beginning of year">3.13</td><td style="width: 1%; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Granted</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zmlm8BgZe83l" style="text-align: right" title="Number of Stock Options, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0963">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z9boMYSKJjCc" style="text-align: right" title="Weighted Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0965">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zFniWZuVd3qe" style="text-align: right" title="Number of Stock Options, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0967">-</span></td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsZ5bloCfR2j" style="text-align: right" title="Weighted Exercise Price, Granted"><span style="-sec-ix-hidden: xdx2ixbrl0969">-</span></td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td>Redeemed</td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zsBRoIxQMa22" style="text-align: right" title="Number of Stock Options, Redeemed">(8,750</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_989_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z16g1eyKfdT1" style="text-align: right" title="Weighted Exercise Price, Redeemed">3.19</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_98F_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zelbyBoC9Jef" style="text-align: right" title="Number of Stock Options, Redeemed">(8,750</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_988_ecustom--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z4OUoqFPijoa" style="text-align: right" title="Weighted Exercise Price, Redeemed">1.45</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td>Exercised</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJ3Fc8GFxO88" style="text-align: right" title="Number of Stock Options, Exercised">(2,500</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_98E_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zFBqqSZxzCaj" style="text-align: right" title="Weighted Exercise Price, Exercised">3.19</td><td style="text-align: left"> </td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_eus-gaap--StockIssuedDuringPeriodSharesStockOptionsExercised_iN_di_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zguop4kXCbZg" style="text-align: right" title="Number of Stock Options, Exercised">(2,500</td><td style="text-align: left">)</td><td> </td> <td style="text-align: left"> </td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zJcvcuXsM1dd" style="text-align: right" title="Weighted Exercise Price, Exercised">1.45</td><td style="text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt; text-align: left">Expired / terminated</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_983_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zCWMrUa7xS62" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0987">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_988_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zwBbSyVPxBu1" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0989">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z0vmyf1aWmJ" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0991">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_984_eus-gaap--ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zGadUGgnmhJh" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Expired / terminated"><span style="-sec-ix-hidden: xdx2ixbrl0993">-</span></td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: White"> <td style="padding-bottom: 2.5pt">Options outstanding, end of period</td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td id="xdx_986_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zSdnx74wIba7" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Stock Options, Options outstanding, end of period">101,250</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_989_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zMCvECWupHAk" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Exercise Price, Option outstanding end of period">3.55</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left"> </td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_iE_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zYOV7rpYHCBh" style="border-bottom: Black 2.5pt double; text-align: right" title="Number of Stock Options, Options outstanding, end of period">152,917</td><td style="padding-bottom: 2.5pt; text-align: left"> </td><td style="padding-bottom: 2.5pt"> </td> <td style="border-bottom: Black 2.5pt double; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_iE_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zy2xMRIEruW6" style="border-bottom: Black 2.5pt double; text-align: right" title="Weighted Exercise Price, Option outstanding end of period">3.25</td><td style="padding-bottom: 2.5pt; text-align: left"> </td></tr> <tr style="vertical-align: bottom; background-color: rgb(204,238,255)"> <td style="padding-bottom: 1pt">Options exercisable, end of period</td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_985_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z1OKNFmU9RV2" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Options exercisable, end of period">101,250</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98B_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20220101__20220331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zu3hWIGzALrd" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Options exercisable, end of period">3.55</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left"> </td><td id="xdx_987_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_iE_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_zL67lTvG5Yx8" style="border-bottom: Black 1pt solid; text-align: right" title="Number of Stock Options, Options exercisable, end of period">152,917</td><td style="padding-bottom: 1pt; text-align: left"> </td><td style="padding-bottom: 1pt"> </td> <td style="border-bottom: Black 1pt solid; text-align: left">$</td><td id="xdx_98D_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_iE_pid_c20210101__20210331__us-gaap--DerivativeInstrumentRiskAxis__custom--NonQualifiedStockOptionMember_z6Cr9xa6kCm7" style="border-bottom: Black 1pt solid; text-align: right" title="Weighted Exercise Price, Options exercisable, end of period">3.25</td><td style="padding-bottom: 1pt; text-align: left"> </td></tr> </table> 112500 3.51 164167 3.13 -8750 3.19 -8750 1.45 2500 3.19 2500 1.45 101250 3.55 152917 3.25 101250 3.55 152917 3.25 P7Y P7Y P7Y P7Y 258077 443036 30675 52898 7975 3620 224133 168090 14057 10543 <p id="xdx_806_eus-gaap--SubsequentEventsTextBlock_zzGSMmLsVoz7" style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"><b>Note 11. <span id="xdx_824_zVviVawSFO02">Subsequent Events</span></b></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">On May 2, 2022, VirTra, Inc. announced the appointment of John F. Givens II as its co-Chief Executive Officer, effective April 11, 2022. Mr. Givens has been serving as a director of VirTra since November 2020.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">VirTra has agreed to pay Mr. Givens an initial annual base salary of $<span id="xdx_908_eus-gaap--SalariesWagesAndOfficersCompensation_c20220501__20220502__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_pp0p0" title="Salaries wages and officers compensation">298,990</span>, subject to annual review. VirTra issued Mr. Givens a signing bonus of <span id="xdx_90A_ecustom--StockIssuedDuringPeriodsharesForSigningBonus_c20220501__20220502__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_z69OdDzkpSIk" title="Stock issued during period for signing bonus, shares">64,815</span> shares of common stock which are restricted from transfer until the earlier of: i) 12 months of employment having lapsed or ii) the Company terminating employment with Mr. Givens without cause.</span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">Mr. Givens was also granted <span id="xdx_90D_eus-gaap--StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures_c20220827__20220831__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zh7X69sSxK8c" title="Stock issued during period shares restricted stock, shares">288,889</span> performance-based restricted stock units <span style="background-color: white">pursuant to VirTra’s 2017 Equity Incentive Plan. </span><span id="xdx_902_eus-gaap--ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights_c20220827__20220831__us-gaap--SubsequentEventTypeAxis__us-gaap--SubsequentEventMember__us-gaap--PlanNameAxis__custom--TwoThousandAndSeventeenEquityIncentivePlanMember__srt--TitleOfIndividualAxis__custom--Mr.GivensMember_zichtIgobryg" title="Restricted stock units vesting, description">Beginning on the last business day of August 2022, a tranche of restricted stock units, having an approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000.</span></span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt"> </span></p> <p style="font: 10pt Times New Roman, Times, Serif; margin-top: 0pt; margin-bottom: 0pt; text-align: justify; text-indent: 0.25in"><span style="font-family: Times New Roman, Times, Serif; font-size: 10pt">The vesting schedule notwithstanding, the Compensation Committee shall have the discretion to declare the vesting of any number of restricted stock units should the Company experience unusual results of operations, such as falling below the net profit threshold one year and exceeding the maximum net profit the following year, so long as the total number of restricted stock units declared to be vested does not exceed the amount awarded. Additionally, <span style="background-color: white">while a maximum net profit per year has been set for allocation of the available shares at this time, it is very possible that the Company will exceed these levels during the next 3 years and if such performance occurs, the Compensation Committee will meet to determine if additional compensation is in the best interests of the Company at that time.</span></span></p> 298990 64815 288889 Beginning on the last business day of August 2022, a tranche of restricted stock units, having an approximate value of $40,000, based on current grant day prices, may vest if the Company has achieved net profit for the twelve months ending June 30, 2022 of at least $2,500,000. For every $500,000 earned in excess of $2,500,000 another tranche will vest. If the maximum net profit of $7,000,000 is achieved, ten tranches would vest. Similarly, on the last business day of August 2023, a tranche of restricted stock units may vest if the Company has achieved a net profit of at least $3,000,000, with the potential to have additional tranches vest up to a maximum of $9,000,000 in net profit. This vesting arrangement continues with the last business day of August 2024, with the minimum net profit threshold being $3,500,000 and the maximum net profit being $11,000,000. EXCEL 59 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( ,. "U4'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 " ##@ M5>JM;'>\ K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>.LT80E'7"X@32$A, G&+'&^+:-HH,6KW]J1EZX3@ 3C&_O/Y ML^0:@\8^TG/L T5VE*Y&WW9)8]B( W/0 D/Y$TJ'\C'L(!C_, MGD!)>0.>V%C#!B9@$1:B:&J+&B,9[N,);W'!A\_8SC"+0"UYZCA!558@FFEB M.(YM#1? !&.*/GT7R"[$N?HG=NZ ."7'Y);4, SEL)IS>8<*WIX>7^9U"]&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M M3A^%$5B-;'EDD81_OTV23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R M> +]O6N[!3+ MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,! M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2 MBW A(5M>5 TR M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$ MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7K;YH] M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZKR2.FJW"$2M"/F(9 M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+ MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+ M.7\N?<^E[[GT/:'2MSAD6R4)RU3393>* M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.WF)&Y M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_# M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0 MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYNTB42%(JP# 4A M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.' MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_ M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]! MU4#E/]O4#6CV#30,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04 M" ##@ M5YR=$EX0& !O)0 & 'AL+W=O^&"DZ !SAFG M/_[[>PP);BOS)$5E+U9(>+[Q!X/Y8#BY%_)GMN1@6\9@'2D:69=P7\=]1J):GK4&+A'S.UK&:BON_^ :H MK_,"$6?Y_^2^V+;OM$BPSI1(-L70@B1*B[_L8;,CGA1X_8H"NBF@+PK<7D6! MMRGPR+UUI"F%_)]DU<#393J;IPI"=]&4*>&OKCCDK1) MMF229R==!9GZFVZPJ3\KZFE%O4,ED MAWCN :$.I9;V^'CY:+WH$*=G*W_6'*_YU7DG:S*>D1^? M80LR5CS)_K7MKB*N9X_3)^6';,4"?MJ"LR[C\HZWAK_]XAXZ?]A8WRCL&7FO M).]AZ<./(EC#^:K(]>.*VTCQ M/V=Q9ML5/EI6$^JPA#KEYS'^W%>1%G XBWN!7QLO>[@:5]=&Q]:4Y//=5+1.R(W1'7;KNT[5G[$J^L"TH-*$5;MKGP7T0Q)Y-U M5DPWG-'L@X!-AH'@4LOUPBAR\>>>S!Z>D<'5:)R_9&D86\\,'R^M2VI5A?27$7I=;>.=N1.?IN!6W" MF:AQ)HIKSDO0*Y$I&*6_1ZO*,W='(HS/M&^=.&C"G*@Q)[K#G').R5DU&![P M>V_@O+>"-6%*U)@2Q27GL\AU?BE2S)1VA!P?#MIN;S"P\C4A2M2($L7]YCI2 MX(!B3ESZ^^U[,N/!6D)?6B'Q)%\DB4CS\7:F1/"3_.ITM%.0%5CT'8OM=]]X M:%U\XT\4EQZX[PZC=$%FC\FMB*W4>,#-]6QLY6K"EZCQ)8K+S;8?R?E# !>" M!:_TWQU!D]'LX\@ZUX47UB4TAD3W,J3M+5LQ:Y)W)5Q-[#>E.Q(GPHK9A!51 M8T5T+RL:IXK+XJF OAME6VXK)IY8@=F$_% C/W0O^=$WI&"WH ,+(>V#$)XS M$6F;!0&'& @)BT K;Q,*1(T"T;T4:):P."9GZPR^SNS'+)Y3-:F)E]7$\XSX M>'N)SWG"Y4*?DW]"@EJ"&R0KEEK[=4=@%2=>5I?3:(^'6\NY?F 'A]E$*/!T M\BWC1"TY#+J*ZR=&3Z=UBQE!*SK^&Y7SNGA=779C1MY>2?=.QNCL1\/EQ?]K!C&V^V=]H]+K@77_N3OC7QFP]2$'7G&CKS^&S_W M?"/7V= W84Z>,2=O+W-ZU43+CLBCXR/GW:Q#/CV"E' R% MZV:8=LVP[(B[YHGUV;&/U]7%-"[EO6XB::_IE1V9]ND5O*@NJ)$H[W7S2'M, MK^Q('/3IH& [^="J.V*_H'R M':OA_U!+ P04 " ##@ M56/71P9\' #X)0 & 'AL+W=OG9EUK8L*GU;HV:]7*KZY9TNS?/UA$QV;WPJ'A?6O3&=7:W4H[[3 M]O/JMH:KZ=[+O%CJJBE,A6K]<#UY2U[?<.$&M!;_+?1S<_ :N5#NC?GB+C[, MKR?8*=*ESJUSH>#?D[[19>D\@8X_MTXG^^]T P]?[[S_W 8/P=RK1M^8\H]B M;A?7$SE!<_V@UJ7]9)Y_T=N $N&G2)/M^]1S]^_]/5U()W9S/-MY[>;3S1$4\? M5?T*,7*!**8T,/PF/OR]SO?#27_X%&+:!T;W@='6'QOQ=[.N:UU9I)H& GL= MBF?C@(<=N/7SNEFI7%]/8($TNG[2D]D/WQ&!WX2B.Y.S7JQL'RN+>9_=J&:! M5#5'N7NA_UP73ZJ$X)M0U!M7HG7E%OG3C"1""LKXU?3I,** 899BF8AD;]A3 MR_=J>53MVSPW:Q '52#7H/2^U!>HTC8D=N,I.="0$)9A0@=:?3LF,Y&R+"PU MV4M-HE(_5$\PC:9^&168>%\L,BZQ( .!OEV""<\H#PL4>X$B*O!S=5^4I9[# M7(+2M0Y)%/Y72\8Y%@.)OAW+N.!XEI5.)MK5>JF"/]%=#3Z*9-5&,7 MNH;Z=KA&0]I33U,F"$WE0'K C&,IT[!RN5.PY+*LF$2 M! Q9@M/D(%MZ0K.]T"Q:ZWXUU>.EU?4R5NVR"#6Y0R))*P5,QL@C( 6=)5//OH%C9HGI$ MI8:V ]6NO[@T#Y=KN&AOV[A^XJE*,>>)ISY@)SG#8]H[E)(HO: ,6E4]%E"H MMPDV+I7ZQ48(DF1#J0$[MQ1&ZC7I2$CB*+S3L%X+2(VY7IFF<%++W>H("F;^ M'<]2CR]'S?IR.Q22. M_;^O@;E+C2@.,2P7W2!.P(S)+V0AI2,="$H?A>_V@ MH13.D55?CV6LCSN2LI3S88\1,A2P,D?5=F D<3)NBGN,2R5;3]HPIE%?>9EC*99.I >L"-8 M4'P08U][AT8:1^-.>Z1#/,BX8 P^^0A):2*'W D80IN6\K'Y/]AMQA'YF[%Z MER$7.]E!J3[Y*'-+>:@T9"=H-E)I:$=(&B?DL!'932WL<9J%J>TH@*C/0)9P MG@WW$2$[GJ;I2/FA'2QI')9[ &TW.T<%^R3D O9F7N,4,B0L&=WITHZ9-,[, M_A;B6!;[,)0ID5!&AGI]0]A$4#F:QATUJ?C&G<2Q&D^C^#WY].1,WOIA=_2E MF_7H35^MO.R6E5 A/;T82N,,C=28QTV61R; M6\U'E/HH))G *4^3H=* I61G<>=A^L;"A7*,SCJ3T!'7\:C:+BS)O^R,.5X=Q%L?X;;T#1.-F 7V/7V&,"13@&CVIA1%$A"1=.X'M?4R*QM8R&%('N"$Q>5GJN@@6WWN[M0+;C\U)QQS*HOL2,^BQ/_[7Q>N#T25!]W M.GU95"A7JP*J45"JSW&&85,MB%?;@Y:4L;'&G77(9W'D?])6P5NP3U)U!M@;-HS"D;.3)G'>I9'/6;BMZ,%HN@:!_?C$@.B\E#4%='\#C?=2?\>'=RO.+&G9R MEC,XZ@=Z\-MQ_ R@E]SOXLE]U@[D7-[Z<7<="$_.FMS_@/V1V,_DK1][UT[P M<[03<2>G)/>_=[0)='KP6(Y[)NJCJA^+JH$]\ -XQJ]2F-9Z\YC1YL*:5?ND MSKVQUBS;EPNMX)8[ _C\P< .8WOA'O[9/^PU^QM02P,$% @ PX +56)\ M>S56 P 'Q !@ !X;"]W;W)K(\!Y-()97-I1%1,@AVYH\ M84"\M"@*3=NR1F9$@MAP9NFY%7-F="?"((850WP7183]74!(#W,#&R\G'H*M M+]0)TYDE9 N/(+XG*R9'9N'B!1'$/* Q8K"9&W?X=HFGJB!5_ C@P(^.D6IE M3>F3&GSSYH:EB" $5R@+(E_VL(0P5$Z2XT]N:A3OJ0J/CU_O@*>4-#Y>?2D*?/Z)!I!P,#N3LN:)072X(HB+-7 M\IS?B*,"?*K S@OLK@7]O*"?-IJ1I6U])H(X,T8/B"FU=%,'Z;U)JV4W0:P^ MQD?!Y-5 U@EG04(2NX >E0-'[U>$02Q\$(%+P@_H(WJ+3,1]>9;/3"'?4)69 M;FZ^R,SM$^;WA/50']\@V[+MFO)E<_EG<(MRK)>;LLVB5[OHU4[]!B?\5G*& M &/@(7E;W:<;E!"&]B3<05UKF=]8/L=A#2SU>,;?K-.A! 3VX"#K@?%!&D_(KC@L1>$&_K2(>MI$T*C714D(X:29Y.NHV5UME&N>X MX!R?P=EIHHXK]RJ;?Y69VD&H,4\*YLGYS*?GZ:2"@:V)-1WU7_/6"\>X?X)W M6O!.S^=MF;+3KM#UPM/0V"K#Q>J"O0P)Y^@._;J': WL=VV2-#JI7S.W/"$N MS WY]U&HXFLMW=RI=>VVZW36,A1QL'QS MQ_:@Z2#4J>8"QM7(J[ V273*,A!QLFQQ>R@V2G34,A9QJE=RT_LN0Q9?+65QQYAMU^FL9=#BJRF!+(ZQM*QBTXO%"/;S 'D2K*= M_ON*#X,-0DDZODD0WEV>7:WT@B9[(;^I-><:O&9IKJ:CM=:;F_%8+=8\8^I: M;'AN?ED*F3%MAG(U5AO)65PZ9>D80QB,,Y;DH]FDO/<@9Q.QU6F2\P<)U#;+ MF/QWSE.QGX[0Z'#C,5FM=7%C/)MLV(H_9!F-&ZBQ$G&(]\Q_,M M5S>VTE2NGMVU6* W:L,6?#HR*U!QN>.CV0_?H0#^9,OK3,%.LO2:+#U7]-D? M0K/4K-HR5UNFE7M0NA<[QVX64)]@'$[&N^,D^G:>YZ$(1HW="9_?\/E.OENA M=-&_BJ5MGG*\!?C3ZH@7:FYVSG,P4[R3=L\@W= MT\%SDW *6!X#%IM=-5&Z*,#.VMMAO^@X"DB$.Y/3MT,404R(?7*B!C9RPCZ: M])ETE MJV9 "P'U:4@[I#9#"#W/AP.L1[J'G*Q?\H7(.%A*D1V8C>Q985&/@2)$(.FR M]NW\P(/^P.)$N$7%[N6IUUR"I *^J,MZ:5VB=:0SK=%S13O-NY56Y-2TD[RM MR9)^P3V">_/2-T,!H0.2@UI-1&Y1K/!<7>[U'GP5>+[?W3AL=M@C YJ#6E%$ M;E4LEZ.U=ZRT?>V[,ML7CKJT%HTDD3?4Y:U$(K=&U@ORA9MO$UYHY2XIOQ7, M\,"OV:M=WE%?&"E$D'I=]KZ=V70@'-I-6@%%3KV:/32X%W,C+D;F+]\'3OO% MQ-XQ4 W>M[NBU+3Q 'BKA,@MA46/.%98V'M?\RFUU+5O%_C^,%ZK?2AR;GTM M'KA(S3O4)3!;-3#CS)1:K9GD]FW0*:D?W@;/%.WT>Z=55>Q6U3E3R<*69>T7 M'E4=7L.NV-NM0OO,X%8_L5L_[Y)TJ[M?=#47>A>7U6J(JQ5+[!;+K^6'.S=8GYNMUJI8LEI=3'" _,4*N;V*V;KL[I*Z'!\R&A01>O;TE#XH=D8"O'K6KBMU7SJ?B. M!'_=\^R%R[^MI,X@'VZ7,T4[3;F57AS\_T,,[)3M#V=ZIFBGF;8ZC=TZ_>9! M1NW_]DF&Q=!^E#$^.IS+N%R59Y;*:-@VU]6Q5W.W.1?]5)X&=N[/T ;X(K4567JXYB[DL#,SO2R'T M85 \H#E%GOT'4$L#!!0 ( ,. "U6I6D<^*P4 "0A 8 >&PO=V]R M:W-H965T&ULK9I=<\1[)*2#IP?*GM,M(1R\ MQE&2SD9;SG*(\W0=:3%.$Q& M\VE^[8[-IW3/HS A=PRD^SC&[.V61/0P&\'1^X7[<+/EV05M/MWA#7D@_'%W MQ\295E&","9)&M($,+*>C;["&P^BS"!O\3TDA_3D&&1=>:+T.3OY*YB-]"PB M$A&?9P@LOE[(@D111A)Q_"RAH\IG9GAZ_$YW\\Z+SCSAE"QH]",,^'8VACW&%BE@=4TL'L,4&F &@;0[#&P2P,[ M%ZNXN[DT2\SQ?,KH ;"LM:!E![F^N;50)$RR5'S@3/P:"CL^?^"8$Y%:/ 5T M#19;G&Q("L($/'#J/V]I%!"6_@Y6/_ '_?B/Q$V'_=9 6B_PN\"[DXET!7(E@M(<95 M0HRE"5',/W27S7 I(*^$^6%*@B[UI: !ZBOB+,>M+#*1T1RYBIRYBCC>F:!K M&EJ5AM8E&KX/[2XMI<"!^;NP6GTR++TYEE5Z7*F$N2IAGB)8+0]0E0=(F@=_ MB]U)F/@T)EV22VT'#%]%G*4BSDH1QT6M+$:6!9'9>#*?;5:3SJZDLZ72K9*@ M>[WT#;/JF0R[9)5R!\AJ?V"]9+?ZGJV7;,-ISKJ*@G+;#J^@Y>C(F314Z8C, M,*%MHDFW+DZEBS-(E^-BZ:PP4O 89RNQ9)MM19+%_CKGV!5PER5,$\1K)8- MDRH;)DHV-IWY($4/R(=)>VN@.["1#)/V,D.?&*8Y:31<*8K*[7(X-DR[,4X[ MFD'#<&R]9YQ"_5BKT-7L;#K%D<,'J%."K+H\N@U;X_42E_T#5BG-54KS5-'J MF7%2Q8*JMCARTI T4 1:EJ#:]#^QK<8H5N7.507RSL5=U_)868+RTM(%6QTY M<>A>IZ2=V>PH];E22G.5TCQ5M'H^',M94%[/*O*A) =@31E8[_F>$9!="?V> ME%!5R%(%6L)V2%W88UD*RNM2\KVLW'B(@*J*4:I M*U4@%[9+399MZ_:XL20[WZXNX;$J!>5EJ0_M:8U.>2^HHG3+:WUDL=S12JR6 M+1M!U!Q_B@)S.UPZ#C0A;(K3$1ITQKJN.SWR'(M%4%XM^MC6MEL?5;4DV*ZF M9*OE"6JOEB]P*7FBJJ2Y2FF>*EJ1%MK)Z]_L_P-"6[%/2D%$U@*O7]OBWK/B ME7QQPNDN?R/\1#FG<7ZX)3@@+&L@?E]3RM]/LI?,U1\CYO\#4$L#!!0 ( M ,. "U4UE_R=XP< ,TJ 8 >&PO=V]R:W-H965T&UL MM9IO;]LV$,:_"N$-0PLTM4CJ;Y88:.P-*[!VQH)NKQF)CKE*HD;12;-//U)6 M))NBF5204:"QY>.)S^EX_)'BU2,77^LMI1)\*_*ROIYMI:PNY_,ZW=*"U.]Y M14OURX:+@DCU5=S/ZTI0DC6-BGR./"^<%X25L\55[I+95?JK50W^:=EXP5M*P9+X&@F^O9 M!WBYPI%NT%C\Q>AC?? 9:"EWG'_57SYFUS-/]XCF-)7:!5%_'NB2YKGVI/KQ M;^MTUMU3-SS\_.S]UT:\$G-':KKD^=\LD]OK63P#&=V072[_Y(^_T590H/VE M/*^;_\%C:^O-0+JK)2_:QJH'!2OW?\FW-A '#90?>P/4-D!F _]$ ]PVP&:# M\$0#OVW@-Y'92VGBL"*2+*X$?P1"6RMO^D,3S*:UDL]*_=QOI5"_,M5.+FXE MD50]1UD#O@%+4F_!KRH7:O#F2TEV&9,T>PLNP)?;%7CSX]NKN53WU"WG:>O_ M9N\?G?"/P2=>RFT-?BDSFEG:K]SM(7(XF"NQG6+TK/@&.3U^(N(]P/ =0!Y" ME@XM7]\JKYD1K#NZ?7)%DR9;%,Z6TWD[.@AA-U#")W)MJ+*: M77"06 @&D1\:^3$;Z.?LV4GG4*8^BROD3I4!-U^E7H$:/PK+ZI*!X M^!A#%!C/9^F\I?WY %N&C_#SXG-.NL D[MEI2\I[6JO"<5@KZIJJLJ,3/F?D MCN6GZT8R9=V8TMEJ(F='485>#VV>,^$^I"G?Z=JMZ@=E#^0NI^]TL;;RF3=( MMPN(?(0BLW(J?E+J49*KN9=097XG95/6A?'JN,X2D*SN-@LX\#S M-1$?JW;V:JSJGFZAD_;4%+FA0BC5DGRCM54SMCP_C.! \0BLM-;3,8Y>CD@/ MJ-!-J&M!*\(R0+_I.8;NZRB76RK4K,B3 MGC0/!@])4[&C_;BR1FL(F:&'0V\P?"PP&D5^$)G1:#]'%P*>S"%3D+K)Q;7=)K85AX8#B0/ M[2X04@0Q0(AS4"/JJ1&YJ?'S\VJ^7EM-Y>TXICVB(C>BKGI" MHA;VK)1JZ<>:&GMR>D86"@U@Z ^RRF+GQ\@SER7N_HW5W\,J]UXKHW?VL3>DUHL@2LS]CJ7[IM\S],[!OZCG7^3FW]MF M?Y)7>F>R5JA+1L;U$MO.M[ M"&%LK@EMEC#VH"HW1CCKTT(!#!>/6RH&' M.ZHPB3R5_V;UL%B&L0^3V#=#\K+AL=J>6;&;64^KI7IKP*ES2*4P".,089-? M+9:!YZM_)I"TAJ$K=,="#\X)N \*W.ZJ*F].>JBY,6-UFO-Z)QI639\Y1&7_ M_B21FA[LAP:F/34P[;&!,7$X=BB5O+QHAM/!FD;5D5>3/9Z(#]MH3NEM-96WXZCW[(K= M[+KD*J2B.6_8["^TKP#U,977+[;Q\ ! %"3#-!P!K%;>'^/H=,SF!^?\"BKN MF_.2-6CVM/<'X+JKW9G,#\U)1./Z#;Q<[D]6]F[V!ST_$:$F^1KD=*-<>N\C M-=3$_NSD_HOD57.:\(Y+R8OFXY:2C IMH'[?<$7;[1=]@^X$Z^)_4$L#!!0 M ( ,. "U4MOK0R*A@ ,@_ 8 >&PO=V]R:W-H965T&ULK5M=<]M&LGW'KYC2WMVRJR"*7R*IV'&5+-N)]ZX3E66O'V[=!Q 8DA.# M (,!1#.__I[NGAD $JDX6[=2%5,@9J:G/TZ?[AF^W)?55[O1NE;?MGEA?SS; MU/7NAXL+FV[T-K&#QBFYCB[-5+ M?G9;O7I9-G5N"GU;*=MLMTEU>*WSC,/_AHUIN:'ER\>KE+UOI.UY]W MMQ7^N@BS9&:K"VO*0E5Z]>/9]>B'UU-ZGU_XM]%[V_FL:"?+LOQ*?[S/?CP; MDD ZUVE-,R3XYU[?Z#RGB2#&[V[.L[ D#>Q^]K._X[UC+\O$ZILR_V*R>O/C MV>),97J5-'G]L=S_K-U^+FF^M,PM_U_MY=WIU9E*&UN76S<8$FQ-(?\FWYP> M.@,6PQ,#QF[ F.66A5C*-TF=O'I9E7M5T=N8C3[P5GDTA#,%&>6NKO"MP;CZ MU:_5.BG,'XFHJ,C4G5D79F72I*C5=9J635&;8JUNR]RD1MN7%S56I;$7J5OA MM:PP/K'"1'THBWICU=LBTUE__ 6D#2*/OVKN R_WMLPS+?]/A\%$8_V%V2ZA_/$"=65_?Z[-4_ M_C::#5\\(>TT2#M]:O;_%X,]N<)Q^7\I:QV-!NJO+M\;$-& UXW%@A;?['3% MCZWZMZD^54D8_1R_\8_?^@Z=[_?!) M8_V#LO+/RJ9R#Y_'*B_3I-:9,H6ZV4"Z7%=Q=%V9/\HBB96Q*E'KO%PFN=I5 MY;W)=*7*E?JMR=8 IAJ/&ZOI"= QU0H>8PK:O37;)D_JLK*Q6AF 9;6UQ[YE M#6:5N7_P&--%I(4\V2M=\.2T7@P$R$T-\(R5SIJ4M0K0PY3-^(B@TAL'O:Q-983 VQ4E\HF]YIG-EN2&)H#UEO% ML^Q)_GI3E%MF1D CUDV'&"[I*H+ M73E3EI59&WIGZ4(HLO %Y[ZCJZN)2JQZIZL*.KD504AUL>*P>E^H.[VK]78) M)T;.!H">?!>>M,:T>U-OU$_)%CEOZ[Z!KI'O#-*AS@]JJ>%VVIE&WH #J5_T M?9(E<,EJ5TJ(#]2;IH*A(X!WNB'D'L:=V((:-&RO]MA IM,*ST05\(I<6?:X"$\@'/0- M>S=6/;OY]=_OWYR/KIZ+HH,\&\AC6X##Y/ O.! MBO>P^Z*D]_!O9@3*8 KZ MZO/@CE21IN ?I +(D[$&,&>^(I%8$XR(U[O*Y&2[E0; )#FBL<;&V#D(H'*U MAO!50;'%X0$G-KP?XIY>G#'XF$/#BD1A+:!3A(2_'">U.<;N 7\E?!R MOS&847_;&3)J24L<;-%A$_T[BW4K]5[6JC21$.QI1ZHJ12. MLFIRV*72]R!L)$..Z&THP@1HUDWND@RF(>%;78J #H0UU@2_HF "$NF:\;?2 MOS<06Q1/;E0HA!W^,ITH)%O@'6A6D9!]"3>)N,HV^0WA"T3!+ 044-1JA?A! M0#-O)6MADI+#"L^V)CMG6\011V%9X'F[-E*G+8L"'@W;P=2-#K, 2&7!HEG! M4\3I:(N[$.8*7U B,4Y+:5-5FMU;]L'NX:SA 38) )A5 ML_.KMUN!Q^G4P<,2K^HM@1&E3HS"?'BY#0E:&M1%;(5 =:!%EO1PYP3W;N0Q M(BHEDA[F63 GC&2O*0/1(390) 5GZ5UIC>3-W,#+,G:."BZ],S5G( NFDL)" MB%[2PI+<,8'5DR6[@DB5B;V-C?"WAL2ERO!8 M?#&DV&I"(0#Y>\UTX\21T5 M<0F=N7(#(4MY6GQ>O,,_/EAH$2/@O+F+*M:1I?E &>HHTT#9T@^&EKM6D#5I M192"F ]C2N#3'YKB]%Z3$[.?ELCLM$=Y"W#.WE%QJ&PTJQNJ2F'J_GZQ'.TM M6FJ\5)0.?Z ^@+ 3]P7S\OY/"!:0M,T]NX""#.# R>]'V&5F\TNYF-$J*RH/-IPLP"<0"02RQ) \N8@E(&S$C0).X(Z>PF M.*D#$*D&.DZ\RO4WLS3,E8!$EA@RB=*-K$ZJX73GDKYCJ6DSS2!19WO4NR!DD MUH1JADSJH29RJ +. A\#F: 2RB\J]%Y@OIMMVNDH>C">>29-$X82@6'/QH)K M0V\QX^SZ3V=)WDKTL4'\)<7YYZ_$E30MO8)RZEXYA(>P\(-DEY7:,F)OA(X? M>@3$T5\@0NG]3I:BV/*+.;8@(_F#6$X([?@"Z+.V*^.%E#F<-LH8C@%33%$D# MIX0IVQ!@KB: AS#*&_(XPA93B!RL?H3.SI-:$$Y*Z="[XMG@?)5M2$.>R#Y% M7^XT8(=3-P?3VV^<9]D&OB1ZYBK=N[T!-JSB\HC> ?BXJ7$]FU.K!',^-UT5!1=9'@%-5$R6D!IL:#<__ M.\R_,E18=I91CY=9@0*X(@5#(FR7YKINUDA8:BS]H0%#HD2+M# ]FJW*LH:O M,H%(0(7],_6BO+U-,B%@^/=W"9T2#[_*D*XN=Q(D MK=<3 , 5<_A8P!32"/N )(A=. HNW%H0H$H.I*05#TZ32#Y\2E4OU 84 MZ9[HS)[LF+'NG>L*+>G8UA4S[!3D4-02<)G0;97L;9OE;UH*3"NL)%?WX.4> MB(^IIU6-UP5@'%B]E<:OQ.]#-3MR[VUF\@/H4D;4A1HQ#NW\*L+A YD,*(': MCS%BH#Y;39#]UM$GRVXG02I^2EVZXZ#-T%]2R!QHBZEDD:WXYQ( . MJTC 2!86@0G3* RW! &D'W OJQV7SDVR[%9>K7VXON$DOZ:53HT)>2!S);B MY9%]M882B:)6(D^WY272*ES0^@9%.X@!C+UZ0$Q'&F-BD)1326:P\^I!BX3= M%E!C.WH:=/O$40DJQ6/&-9*-;4+,ZCSGL._8$;R3*F)B'O*45N3^69U\ZV[,B]R)-GJ6!C_F M"(,H-DD=!)M4AY:0KAB<:<\E6.TZ"8TIPC'RL8H+<'9U7]S!0A_%*:*/4I8% MTN/979*5.]_Y>A=LU.GYWQ&-3"I X.L2_X1TWVWHO[N^>QTRV=&Q-V4F%4R7 MRES?!2H3S8:SV OK:H;^GFY\P?KL$W)'JC#@>7A!DP"+_3$!'8'6&IM$B M*-UOG(\0I81MK"3 +0N)H*ITC?ITY]K';!31W%8C!#+7V0I8DNQVN6D-Z83A MF'ID$ >S5H=M M=[HIT:,C&^1H&NT;0BV ^0BD-1V-,3@ M]):TVLB=(/.%^W#-J;-6-- M=DE_4R#IYD3B[OB\AC*UY$]Z,W"\R)R.*,K6W%L++NBM3?HO0/-\'D:5@A>- M/QNB%<@W*]>]<$U-GTR>^>REVNS%Q:"7V<_[?$ E["XQU-^61I ;XMM+6C0& M%;-)A0XXF[9F5+ZKD9T6C<\JD/9H@U&7LCS+-#A"U9'*&0RTK2#]DHNL2DIZ MI)8EG'4%;Y!;(HA-RV(B0!Q)HB1VRKHDA0->\"X?)%6;T'Z(;MNAT:]AJ/K MHPA).^DONO/1%#V,IL]P4D&IE9P),[*4>?3^@:NV <=#NGZ-Z6SNP'222 MJ&TC9P($RO"SM\XLT;%0.Z"T$"5'/5S+VA5RLPI\\:&)#]&-"W>:OQOLM"LR M[ZGM'MM$V $'BJA;LP=J:6RY)$2>$NBL!^:N)'YQ?QJMKKFT/6)YQA(G715V M39[]S!2[IO9.06<-:_F"7<5E1TL M?!3N6HDYL8-&;@A .KS^,:B?VJZGT8BD;@&HE9F!9 M!7O;D!@81$\8[ C \O3>;KZZ.IE+7H17'@)S/[VDP9;A?L'IT)4]AL.&C7M0 MT;4J$<#UF9$T7"N1OG<7,"2;^N-W%J7U0Y>UPMSELN93+M2ZU/JD$S7JRJ"6 M#&7GUFUCJ0N] C"[HJ:[B.HO4DMND6Z]Y](\S+7"N^KPKMTR/3K^6NJCH>OB MJF>C?FQ)U?-47 VB=]ZJK8.K_\S!^]3PV"G.(W]MO?M//9WK6D>GJ!ZYH"LGN'7._51I.LG[X=:1%]GW^;U9 MNA0)J$;<)>Y^.'"E9_MN.88K>M[Y@/U$^04A9R:E)AGH*:9%%OZ,/#<=LMKN"% MO*HC07+UQN0)=IE\(UQR,>A/KN0,_T0YW-]9.,5^7#@0ON;^'MB?5!$2-8*M M&VTJQ>8_3\!\--\"EU.%3R=?*#VBYK7^S$K:#5B08!)7##!_>!CL6NRQ53 M9#,5%Q;:GOUU2Q77-8VD:RH],^E&AGLT=&&AK.P1+W$'.$%6V\4=#_ MBZS9 M:T&&&T(2[_Y97SV=YAN$\!L-94KHN/#9YU_6^%VZ ??/N2O9?TNU;]GH$W=* MNU=DVTYIQ)U2:A038/KK?3^U%UC>]ZZ.?2KIXL!WO]FR6_NH6/PO-8HO%\-X M=#7&YTD\'D_CR\L%/E_!?6:3&3Y=QO/1*)XLZ/-X/HGG5S,>-YO/XZOQA#\/ M\7FTN.0YAN-%?#62>J@4$&@[5:#+E/\_5=#:/ MIZ.)NAS'V U>NXIGBUF/SZL>P\'F%[-+-;J<0S43-5O$8TPXGD#NH)B%&L_B"<07I&I9O'\DDQ'GR<3*'-"1AG'5Q,RW8+?'N'M!1MV M&D^G(QCHBD[CHN]JXL>=RU1T)AR@@C(!7>7)>M+-AAVQQ]..K*-91ZS9+$@[ M[T@XGH?&7N2O-;1/0GW+Z<9R7MB=K'V)'U!+CB^JA.JV>Q^,WK@#/4PK(W>+ M/GFSOPWC;MWM3+H>$LY)[;.U/L'Y]QG%+$L XZA!">;T1U&=T\\[K5?]TCE8)K?B%@BJO,D=6?7 MVM_<=L8:A$Y(RVKH<.BT;COJ#):B(DAN=K(/1824DRM*B3-\FL^ :1- 6#R$ M7XVN+@FC1T"I^4A-%I><5R:+*?_KLY;+3W1401?EVEL_KO'WT=BOK((/=%$T MQ(NHY:[A<,-?X=PEHLJ[:CJ0LBMK[4O9<(C;42&%:G=Q]IA45J>;,%WDY-/M M<,Q-2 G^)0=J:>>&&@^/-[CIH7B1\N)# _NM'D8DFL* M=*K&EZN8K;9M6-*/J1O9*7]'E_W]AOV-)^D4T$SOWKR_H4%-I=N,(42T\Y7M MX#-?^N P$7I?[GTR(%'7=(YH_-5F.:PN,NOZS+(,_P2AW/.)1U ?O0#)<]\: M#7$:X)=&,]BEE'V3M18 (EQ&>K\<"K&Y1,Z=QHNK*P4*,A[.XSF<]T-IZZAM M,D/R[M7R'AZ-M7=:PMTO=]8%X8@UT;<#.'4X0G?)![Y3 MK$NN&F5F'0Y K;\C'?B$\Y*.=<.%>]?'$R\@?WEPXMM>IP33MU26_0P?+RO9 M7A]DN-#X1GBJ"X((:M3391/ =;5F'\[E<@)UH!Z>)#\UL1S@F/SH+T4P6?_^ MC_L5@!3 \D, J#GE7L&[[[U?$1.81=" 1JDN$QPZM R$:S3\.[@T=1_\CQ'Z M@ULY'@V>_ITS E/2(V$_4*_E=;K.S1=WW%W4!Q>X>GVDJ']R6;0%F7-+6<>1 MMVU9\3WQ MM0O^B:?CE&/SEX]B]8^3E,R&40W...;@4PXM!YBYRWDP_R[Z7P M/=\:X(OC$*-Q]6AF[DWFSVC<&'>3:L\_\Z38=:''K=5V*MN_3_G&Y#PI)HHZ MB\NJ[J*3:Q%[^,;J>2-M%M>NYO8&MSP.[IZIM+-CTKV)(F\VL>E=(Y>UR M%TY'(I?M (F:;V=3I6@U]XRJ@J_#MO*)2GQ_MN*^GI38]H=0WI("PMA;C&6- M=RK7[RQP?VE5C=(292,5>:AA+H%CLTGTY:'>O=)EAYT]CX8HF.;Q>':E@'DH M'L:C,;F'](OH@$[L),>E/05-)_%HB,)S2!7<7U@R'K19SPD8T374%"H8#H:7\L\B\O[4>]KCL 1B72H@WG1/[2E_ M<;0G>\#\3M\O7$ST&]-'G"/)4WT/K@KU4?OSCNS!Z'4F&HCOU ]Z+SZVK^8=P- M@SC#D?S0.CP-/U._EE]GMZ_+;]P_\*\8+,CE"D.'@_GEF1QP^#_J_U5Z6 M-;"//VXT4G!%+^![NK3J_Z %PH_W7_T?4$L#!!0 ( ,. "U6U^":RV@( M ! & 8 >&PO=V]R:W-H965T&ULA55-;]LP#+WG5Q!> M,6R 4=NRFS9=$J ?&];#AJ+MML.P@V+3L3!9\B2Y:?_]*#EQ.Z#-+A9%\3T] M2B(]WVCSVS:(#AY:J>PB:ISK3I/$E@VVW![J#A6MU-JTW-'4K!/;&>15 +4R M86DZ35HN5+2&W ]FW+S>,Y2KU91%FT<]R(=>.\(UG..[[& M6W3?NFM#LV1DJ42+R@JMP&"]B,ZRT_/"QX> [P(W]ID-/I.5UK_]Y*I:1*D7 MA!)+YQDX#?=X@5)Z(I+Q9\L9C5MZX'-[Q_XIY$ZYK+C%"RU_B,HUB^@D@@IK MWDMWHS>?<9O/D>.CB'<\DK=HW+:/,X31W3> MF91;Z/D 9:] <_BBE6LL?%055O_B$Y(Q:F$[+>=L+^$7;@XASV)@*6-[^/(Q MMSSPY?_+#2Z%+:6VO4'X>;:RSM!C^/52Q@-A\3*A+Y!3V_$2%Q%5@$5SC]'R M[9MLFG[8([<8Y1;[V/=?Q5[HR\*^:H<3=@A/QS!:DU)365F'%>@:7(-0:TGU M*=0:N"7?*=Q2^5>]Q D%/.'HBLIFO".XQ!+;%9J=)YO<\ T]3X=&<&F!JRI4 M)0@%G=$E6@L'\RU,6%WD&[^$=RXKX.&/P M?G*G'9=$LTOE *;QK#B)TVD66%**G+$"[AJ<7.BVX^J1>L:ZE]S(1\![+GM2 M94.NO<6ZER!%C3Y]X2S0X=';H _93YMX^7034\@RZ'A]%8(;^,TR<[D+-K[2C#A+,AEHV&A] Z[6FQ[&=^ W&G\#R+U!+ M P04 " ##@ M5J-K6*GL# "7!P & 'AL+W=O%LR__3),#E>L4*M$/0:[>'80^*S<1" M;J56QG3+3Q/%Q4T M7-_(#EK\LY>JX099=?!TIX"7@U%3>\SW$Z_AHG77RT&V5>NE[$TM6M@JHONF MX>K'!FIY7+F!>Q9\%H?*6(&W7G;\ ]@OG9;A9PWH92B@58+V1(%^Y5[&RPV MD=4?%/X0<-0SFMA,=E)^L\R'/Q"'=0UQ8(P_A^PG0GE]9P M3I_1WP^Y8RX[KN%.UG^*TE0K-W-)"7O>U^:S//X&IWQBBU?(6@]?1/IWN8&63^3PS8R8 -<8^.ABC?<N;D@84,)\QJ[@A5.BX8 7_D>BE&QK MWIJ7^9*_;G?:*&R1OR^E/B)'EY'MLUGHCA>P!\M/J_D("F:4;S+)W3SJ87 M=6D=ON9-]Y9,[(>F4_(1K =-OMQO7WB/4T89RY"*\H2RF#D? >=,)>N2B'D^81C1/(S.)^;28M/V MXW@3K;WI Y96$Q;DJ)"0%!WZSA=I>$VZ>1EF[A.:A3[-X\"2/DMH'&08@-8+ MO(+S#T .,V)9C)^V2 &F[[0IQ+$M M:VRX'>DM*KI9:]-P1T>SB>W6(*\ZHT;&+$F*N.%"A8M9)[LSBYENG10*[PS8 MMFFX^7:)4N_F81H^"^[%IG9>$"]F6[[!!W1_;>\,G>(!I1(-*BNT H/K>;A, M+R['7K]3^"1P9P_VX"-9:?W%'VZJ>9AX0BBQ=!Z!T_(5KU!*#T0T'O>8X>#2 M&Q[NG]%_ZV*G6%;[#[B/)_=XI9:V^\*NU\VS M$,K6.MWLC8E!(U2_\J=]'@X,ILD;!FQOP#K>O:..Y35W?#$S>@?&:Q.:WW2A M=M9$3BA?E =GZ%:0G5O<*,?51JPDPM):=+/8$:J_B\L]PF6/P-Y R.!6*U=; M^%556/W;/B8V R7V3.F2G02\Y68$61H!2Q@[@9<-(68=7O8&WN]:5SLA)7!5 MP>MX+5P+6TIM6X/P]W)EG:&'\L^Q-/1>QL>]^.:YL%M>XCRD[K!HOF*X^/FG MM$A^.1'#>(AA? K]?Y7I),)Q?G]HA\%X])^L' @"W@E*37UH'5:@U^!JA+66 MU-!";8!;DEW \V+JB4#4GB-%U!-RWHH*EQCBZX0T75> >4L2A) MDI==<,6WPG$IOI/W!BO!/1NO#MF41=,)@XQP&)L&R_*Q%8;4)%*G@GBAP?MB M3[/HO,CV2_"G)M@C6@4KHFF60S[)H_0\#3ZBM30_RK9I)?8T9@:(LOH.\**(T/_>[+(^2R3DL#[ "?*)I2\QW MW*>")5%>C(%1; R.O:+XH/$;-)MNO%E*3ZM%'OQR]5:".4 MI&ULK59M;]LV$/ZN7T%HPY "2D2]VYEMP$Y7;$#2!4FW?1CV@9;/ M-E&)]$BJ3OKK>Y1DQ8YC-5WWP39?[KE[[LB'OM%6JH]Z#6#(0UD(/7;7QFPN M?5_G:RB9OI ;$+BSE*ID!J=JY>N- K:H067AAY2F?LFX<">C>NU634:R,@47 M<*N(KLJ2J<<9%'([=@-WMW#'5VMC%_S):,-6< _FC\VMPIG?>5GP$H3F4A % MR[$[#2YGL;6O#?[DL-5[8V(SF4OYT4Y^6XQ=:@E! ;FQ'AC^?((K* KK"&G\ MV_ITNY 6N#_>>7]7YXZYS)F&*UG\Q1=F/78'+EG DE6%N9/;7Z'-)['^V#GN 3T!"%M 6/-N M4LWS+#)B,EMT19 M:_1F!W6J-1K)<6$/Y=XHW.6(,Y-KP)3TR#?HRZ[X>8N;-;CP!"XB-U*8M2:_ MB 4L#O$^+O6&Y3!V\<)K4)_ G?ST0Y#2GWL(QAW!N,][3^5[<2^S>B\- M.,D%:;/^L 9GS@HFU&.22%-:4X"H839A8D(*S.2^XX>B M:6N"9Y*ONT,A6U9O+&6!4M:7Y!Y?B$55@#6=M='NZVA71]%J8F3Z%.WZ*9K3 M"SXDX30NG-\WH'!?K-H\E%7?N5R>5UU2'GD+.91S4#MT0'XDV2#V(IHZTU(J MPS\W,?!Q(V8-^%$ I&QN-MB;_;P&9]G0&R01>>-\D(851'Z5A_?))(^=R *M%'E*"/8>J\E^(\_SJVD&+50.,@\<*4 MMOP/#>W1([UTZ&5)2MY5IE+@X*O#RZIL33?L$=]D<^**5%@S183E9$^T8'-[ M/0YI(53!R8O4!"4W;=#FWMRV09VV@.$@]>(@M-.(1$/J)6D]B4F 5((D/,BN MHSR@ R\(4^<:-$;EY:8R>,)<8%U &W(6#;PHHWBV)PNY5YW_26/'=_29S/K5 M<03_+H%0S"_PZ##VDC![G8LYK+@0UF@?^J*Z'H&I5E7'69]% ?5"'+PY!.^M MOUYQ?<)_O1>DVN2U@WZ77N/,R[+PV_6:T,2+!E&/7O$]PCN?O$JOQY7Y3Y+= M"3'"YY .LV\5XI!2;Q $)X6(M4I18OU"W*5]9TL)#]BFHL'K7W(KQTYO^*30 MH1P3IL^[FV0# "V!P &0 'AL+W=OUC# M8% 7UK>[U,FW[RQ@XE:)6]T+[ XSOYT_S.QB+]5G72$:>&Q$JY=.9*>1%;]0(C_G^W&MXW3JK12];J]5"=D;4+:X5 MZ*YIN'JZ0B'W2R=P#H*[>EL9*_!6BQW?XCV:/W=K13MOHA1U@ZVN90L*RZ5S M&5Q<15:_5_BKQKT^6H.-9"/E9[OYO5@ZOG4(!>;&$CB]ON U"F%!Y,9_(].9 MCK2&Q^L#_4,?.\6RX1JOI?B[+DRU=%('"BQY)\R=W/^&8SRQY>52Z/X)^T$W M#!W(.VUD,QJ3!TW=#F_^..;AR"#U7S%@HP'K_1X.ZKU\SPU?+93<@[+:1+.+ M/M3>FIRK6UN4>Z/H:TUV9G69YZK# FX>J8S]@)7CB%&/:\\!7>FC_QC4 - MO"V@CY<+#?]<;K11]%/\^U+( S%ZF6@;Y4+O>(Y+ASI!H_J"SNKMFV#NOSOA M;S3Y&YVB_U1)3A)>]N^C-#B;G\/W^(-@ELO&2OC0+90KA8(;TLRE-IJ>U(G: M[F4)ID(HI:"6KMLM<$VR"[BGB5%T JW"X93K[Z%W(_3:0F=4Z[R:B@WO,<=F M@^H@"6;W7'!5C\7;TYC0L!OJ"6<0S ,W2QBM(L;<>,YF-\U.R"=$V&"+96V> MM5GB9EE )F[,PMG!O1VO"S T9]MZ=09C&KN_[_2JRJ]D#?\3CDLS=)(X@"$(WL\1:YS2>>8NR M>]:* ]]-PQBB+'13*MVW>?[)5-DL!PG](VEFD>SM$&U[6\, MF^NN-<-8G:33I70YS.)G]>%&HQ1NZU:#P)),_?,D=D -M\2P,7+73^:--#3G M^V5%%RLJJT#?2TD].V[L =-5O?H*4$L#!!0 ( ,. "U592#08+ , .4& M 9 >&PO=V]R:W-H965T]KZQS1:M&R M/3ZB_;W=:%I%)Y:*-R@-5Q(T[I;!.IG?C5V\#_B#X\& RV2KUT2U^J99! M[ 2AP-(Z!D:OSWB/0C@BDO%IX Q.6SK@N7UD?^-SIURVS."]$G_RRM;+H B@ MPAWKA/V@#C_CD$_N^$HEC'_"H8]-IP&4G;&J&<"DH.&R?[,O0QW. $7\#" = M *G7W6_D53XPRU8+K0Z@732Q.<.GZM$DCDMW*(]6TU=..+MZIRS"ACVQKRPNI;?$1*3G+2HYR[]"KA6Z9O($M"2.,T MO<*7G=++/%_V#-\#;BT\<%,*93J-\-=Z:ZRF5OC[4K(]U_@RE_L]YJ9E)2X# MZG^#^C,&JUT7I^*1T?(W]/P_B*OJR-D:/L$0I7,17$)]S63 ME4 =PEKS?Y1D\(/#OGI1I&E\NQD0?IG<_@@T2> E)'%8Q'$8QS$4X62P,AC' MX6Q:0![.\DF89P4JD-22<)@5%DE*W^TX)&CA< M[N?P2).LZH1/PM7"'(LQHG8KZU._P0.6V&Q1'SW)Z+%6VOYD43<@.-MRP2U' M,Q^].U,04E&X+'E+Y7E)0N-P4LR\E83%-!FMRU)WOE+$@TZA!)_!.!SGN7NF M\7>$YNNVCBN\'K#L,.I-^"IV\IQF^[D?7U_#^ J##V'-I0.".H/'-- ] M]T.U7UC5^D&V59;&HC=KNH=0NP#ZOE.4T+!P&YQNMM6_4$L#!!0 ( ,. M"U4[4WUG6P( *X% 9 >&PO=V]R:W-H965TRW:J/1BWJ6G N0ABM)-.R7P6HX7X\F(4,;OCC/HGW2!Y_:)_://'7/9,0.WJOS! MY1VS+%UHU1#MT,CF#)^JCT9Q7+JB/%B-MQSC;+J%DEG( MR89I>R1?-9.&^?\RB\@BOT-%6<>U;KGB%[@2^9'I!D&)*8QO$5OJ1/-O%\R:N3)3]7.V,U>K\NY=W2CB[3NKZ9FXIE ML RP,0SH)PC2MV^&$_K^BNA1+WITC?V5%;K*=5GI%V7A9C8@5W[GKM9<'FYL M <06&H"(MM#@"DVP3%G1UXDPF3L#78>_5:)B\H@-G ,(1,_"Z9AV:SP*A[B- MIR&=3/_'*]R8&K%Q.*:T6^F 4CHDT_#==$R2PRE@^DX(+J=#JUC5>4[++POE&11S]>9R&>Y1*-VR#=I8\+Z;9U>GE]9G8)X-OFM?AX)DDD[ESCW+XM9IFN1!B MPV44!(6?)[YA8P0(-+YO,;-]2'$\?-ZAWZ;*4S(?VE=6<[+C(J5R&Z9NL,!HVVW:]ZWNIPX'"1O^%0;!V* MQ+L+E%A^4%'-)MZMR8LUT.0AI9J\04Y;*::_KN8A>C3-WZ^IT 4Y>SV( M7*3+T*J2IQEN2F#_Q-GLIQ].S_.?CZ1PMD_A[!CZ?R_94;C7R?[N(O?>#^BX M7!_9LE>FYSQ]J3$2(LX5_::C7JITYVZ]:WH1EYBB(_GM4ZQ94%ME-Z0#61?U M0L/++?!ICV%>, >:Q5)46F4;L1ISN" 6U QJ24&3XBDXP <7J#Y29D5P *5 MAY1[,@B :4^63C!PH7676:T"<8AJ;C1N$QBX$*CU[DG+_ F$^8>(,;(/I"VM M:UW6R0@A%/H%IG,X:N5%EV_:?_&JE_*O)$.J<#4\"Q?, M;LD6YB=A:XXC(C5=H5JU"83Y#Z>6?8G>P707'7:D.F?(K2#AAI4G)1%*%6J: M.[L*TBUL]%*+GMRTQFV8PZ G!4Y6""$]*8K%3:M+9=6MC!?S;O&"X!)WB POX)H/WHTS M\MTRZP[1M6F!S%W$.DJ/-?8_>S' ]X7#M-@>),#^/XK9/U!+ P04 " ## M@ M5US?/Y+,$ #A"@ &0 'AL+W=OWDQE1GO9Y.B7CHC.;N+T[-9O(VA1C-)A5;X@.:[]6=HE5OAY+Q$H7F4H#"Q;1S'IY=]*V\$_B; MXUKO?8.-9"[EDUU\S::=P#J$!:;&(C#ZM\)++ H+1&X\MYB=G4FKN/^]1?_B M8J=8YDSCI2Q^\,SDT\ZH QDN6%V8>[G^"]MX$HN7RD*[O[!N9".RF-;:R+)5 MIG7)1?.?O;1YV%,8!>\H1*U"Y/QN##DOKYAALXF2:U!6FM#LAPO5:9-S7-BB M/!A%IYSTS.S!R/0IET6&2G_\,(K"X6>X?JZYV4QZAO"M5"]ML2X:K.@=K!B^ M26%R#=O LV=GCQ.WA-8/#/ M^5P;17SX]UB,#43_.(3MD3-=L12G'6H"C6J%G=G'#^$@^'S"P?[.P?XI]%^L MQDFLXY[>2(->&'3A?4O-D7>/5:W2G @/M\*[38VA:;3QG M'JYJQ<72LSHF5XA0-M1"2RT@8J3YCAD'SL#60 9" LLR;KN?%6!: Z!S1OGH MPHT4GYYK5O %QZPU>UM9:0V/.7I;0 *#"A67&4]946R :UT[^#U]T$Y?MOH4 MUA-N ,NJD!M$[5.X"YZBS8C((-OEIZ9X%+ #=4C),MU[S"Z\JF!T>565DBLR M,]^X8(]DF@M*1C#NPB.J4MNS%FVIF#!D5R$PX[0SKE.%[I#$WL&S?EJ=)0I4 M-FY/XPH%;) IRM[WBK2M*KZ@2GE34%K;CR8)AV7!EXJ 769<_D#0C;W'CJ8J M%H23%&6 "MYDI6NK 0M9T /B.,'F!;:O"*F2IT5QLAC,PI[! SUH65TX1P]J M#P>U]P[)=1/TP"^,.*C5]78;>?>%M'2*K!WDIM5ZU4113)H >&>,8%V[=SU'EJ6>MV MTT(0!J$?):WC"81)Y(_#QO$HV0&TI+*5_B6 @\;-N&U20PV\(NK3AB7)"K7Y MB2%[_C9L>7/#N&:XPA1=H;=<:(BYWM* K"B:8XB[PKTN1"_/YHBHJXY;(M"] M0&UW'C%K+<&:O!K2[3OR@^$0^OW8#^(!Q($_&"9 &1B-1S#TQ[2(_4$4V#MZ MZ+7W^5>1HK"S#]S9J^0Q5[)>YM[;.S2*B$)Q3%0B(^, PKX?)$-*MY_T8SCV MN/7VQHX2U=(-5[9W:V&:"62WNYO?SINQY56\&?[(&6*XA@(7I!ITATD'5#-0 M-0LC*S?$S*6AD!0 M0P !D !X;"]W;W)K&ULC5?? M4]LX$'[W7[&3,GW*)8X#);3 #'"].SI#RY1>[^'F'A1[$VMJ2ZXD$_CO[UO9 M"68..%YB2]9^^^U/;8XWUOWP)7.@N[HR_F14AM"\GTY]7G*M_,0V;/!E95VM M I9N/?6-8U5$H;J:9FGZ;EHK;4:GQW'OVIT>VS94VO"U(]_6M7+WYUS9SC\,!!;I,P)9+Y!%WIVBR/)7%=3IL;,;-!.4F M.'S5D NG-^W2\\^63:"/M_CUQ], 6/DXS7N(\PXB>P9B3E?6A-+31U-P\5A^ M"CH[3MF6TWGV(N"5L<^V8OFOWS:DQ79I\0LH8VYJ<"PHEDVH:JTVH1=JNZ),M#?TV MH=]10\;3Y24I3QJ0N?WEHM2\HH]WG+=28O1EM=(YNS'Q:L6QZNBL<;JB61_3 M27+E=E E@);,AL25VJP%6%&A'42M$]T=2_(:Y.BSO>5ZR4Z TDG_+1$0M78L MY"TUL'&@01G21@>M*K&QQ4/JF+RJT(9$P1YE1XOQT5%*[_;'B]F!"">]\$:0 M*V]I[90)P,\6B_%B<41-ZWR++5'8L7C[9I'-#C_X)$MGA_3Q9ZO#O;@6+A0? M7%?*3.BE< MF* YY#^HA6E^##=VSC,)(N?LG4;'8KI551O%]O;3<9JFXVAZ(;KSUCD);K0K MZD6,<@94C?=;J"&]B@PO;-THF*A %8O->]GX((VL)H0.2X!%./;Z/6+E#/1H0WR7BVO$ MBIT(#+70Z7:NV>BJBJPG=-G11I?4=5LG Z8"<1C](!#ZP9PQ!61@CX6@V[8J M>K0;76LD2G4_?F7$YL]&+!E$['5>5O28_8/SYELSQC ]E!&B0>6;F.?(220$ MJK@HM-Q^LM4;ET2E;2-GU-9)T3-'#YXQ [T3^E;"52(6,\P!:,VQ,>0(M3:M M>&S+X7^V!B*.&MTL+Y2Q9E,/,AX,4PK$.I_BS:2[I-J&\E M)UO&,LD4;<6$E!'E/JB8F^.=WU'H*@X)6-0Z!$9W*!42*CI13A7:YX[C&?BM MX!PIT7W9:I'H('RFC=WI^;C#/$FN82D-<@5RHG0I4U7$>M*)%K5WCT(2YR521AQK\ADWRO;*5D"40R('A98J MVS7E6.(V@-Q3-@Z[T=8_L1DO.Q=A45AD'V) '9/NFJEQYP12&^4P/$SH;)>P M4G";4B-LZBFR<$IGVN#^B*TH@:C-NW#:KK34K4()+ZL855"6,@J2TP'SY1C7 M&,7\1O=IK/=:#H92A4BKEI&\IAK@1U*A05M4,_Y4!;\==>&3I\:5Z6"4K-FMX\ LMSRBU$V5N]W=3'[6C:(/Q[N!'F,OF-)>RJZ")-Y)Q8ZK9-E.O&>=J"Q[_7#J/(# D)P8 M!!@,()GY]>?K[ID!()&,LY6JF 3GTM/7KWL:>OE05E_M1NM:?=OFA?WQ;%/7 MNQ\N+VVZT=O$7I0[7>"755EMDQI?J_6EW54ZR7C2-K\<#0:SRVUBBK-7+_G9 M;?7J9=G4N2GT;:5LL]TFU?ZUSLN''\^&9_[!1[/>U/3@\M7+7;+6=[K^O+NM M\.TRK)*9K2ZL*0M5Z=6/9]?#'UX/1S2!1_S'Z ?;^:SH*,NR_$I?WF<_G@V( M(IWKM*8E$OQSKV]TGM-*H.-WM^A9V),F=C_[U=_QX7&896+U39E_,5F]^?%L M<:8RO4J:O/Y8/ORLW8&FM%Y:YI;_KQYD[&Q\IM+&UN76308%6U/(O\DWQXC. MA,7@R(21F\",N)2-F,HW29V\>EF5#ZJBT5B-/O!1>3:(,P5)Y:ZN\*O!O/K5 MK]4Z*HV>RV;C8YL-E8?RJ+>6/6VR'36GW\)P@/U(T_]Z]')!3\DU84:#V,U&HQ& M)]8;!VZ,>;WQD?4.'?A_KY>VKJ ]_W?HP++>Y/!Z9%(_V%V2ZA_/8#-65_?Z M[-4__S:<#5ZJ&?U1JM__FTQ&@U>W)3;75+L8_XZ?.$?N_&/GC[HQT\:ZQ^4 ME7]6-I5[^#Q6>9DFMP,FE6D'8IB 5L&;;Y$E=5C96*P.?5VWMH5^9]UEE M[A\]QG(1<2%/'I0N>'':+X8=YZ:&#XR5SIJ4N0 MB/YZ4Y7->@,QDC=/'=,V\+SY_ERO5II]O+HW%7;,F093[X497BXMR_8748>W M"J$BM\K4EK0$C* MB;*LS-K0F*4SHI]H>[TKM;;)908 MH1>^[^A8:-(:RSZ8>J-^2K:(7%OW"WB-J&40U'2^5TL-M=-.-#(""J1^T?=) MED EJUTI)GZAWC05!!W![Z8;Q,!J+6<(:D4T 22\CQ*]EGH@IH1:XL:UR$)R ._(:\ M&T2FFU__\_[-^?#JN3 ZT+,!/;8-:U@<^@4%HDTQ#J+UKC(YR6ZEX6"2'-98XV"L'.2@=(:&6M,5>#:=^@V:'1S+&K1:1?Z*QMV"_5N]IHTH3FL21>DY-I5"4 M59-#+I6^!^PB&G)8;T,6)HYFW>0NR& 9(K[EI1#HG+#&GD!)9$SP1+IF_UOI MWQN0+8PG-2H4S [?3,<*2188 \XJ(K)/X2815=DFO\%\X5&P"CD*,&JU@OW MH!E]DK2P2,EFA6=;DYVS+.*(K; L\+S=&Z'3ED4!C8;L(.I&AU7@2&7#HEE! M4T3IZ(B[8.8*/U @,8Y+:5-5FM5;SL'JX:3A'6YT3!K&MFZ:O+$WPQ3Q=.WW M3C*Q#Y N%F2]!@1%\V)M>\ !QF MU>S\[NU1H'$Z=>YAB:%Z2\Z(0B=F83T,;DV"M@9^$UG!4)W3(DEZ=^<(]VKD M?414BB4]CK, 0)C)6E,&H$-HH$@*CM*[TAJ)F[F!EF6L'!54>F=JCD 62"6% MA&"]Q(4EJ6,"J2=+5@6A*A-Y&QOANP;%I=$._WAOP47,@/+FSJJ81Y;6 V2HHTS#RY9^,KCE"&B[%G[>2/G'QBV0#2]@PL!HMQP M.3R3_)M,$3N*L- R2;\",5RH:WB#50-[#)KT?8)53K =IX*'.%Y>%FM-5-W3 M'!@:@5CH,SO\6K/JO=&L9C9*",H"E:<)(PO8 9Q<8HD:2,84%#(@1G)-HHZ@ MSFZ"DCH'(J"^H\2K7'\S2\-8"9[($D(F4KJ6U0DU'.YQ,\/KJ]O86[(;WAXO0$@-OKC^^O4.>6XMHGI BV[L2 M!"F#V)I S1!)O:N)G%S)1\E^MC _I+B_/-7PDJ:MEZ!.74O'<)#2/A1L,M*;=EC M;P2.[WL Q,%?>(32ZYUL1;;E-W-H.2)%[/I->.^\W&O-A938*3V[F9BF6^BC M\T=?G%7CA!@KZ0'P:-Z0#V?/+?X%5F?L5P<+*'*X8UZH$PGV-"38TY,)]FO> M&4O?DLT@)2+B#F74)Y+58!N5;4B 'F>?0E=W&EZ1D07;^MMO# -817S& M]LPEXG=O;WPB+GD6]@32%W?(Q@*1_-:(8"47*X8M'\SAT'U=%)0#?H3OK&I"K%3%4\/!^?^$]5>&\M[.-NKI-BL@%)=# M84J$X]):U\T:\52-I/)TP1Y;C%D*I=[9KLJRABDQODESMABR+0S)&2&V1SC( MB"!10_5+)#L9A4'!DDE;JT+F@:D[$NA:%Y1\8''*6G9URY_/!3.<43\+^AIH M #8=)/G3]?5M$&6K59054=& HJ)"GE1S5+/1CI V?W$I'EB#7"EW#NR!IN<& M/LWCNW!^1H8$*[9))O@0__XNEEWBX5>9TN7E3HRDU7KR3U#%'#H67!YQA'5 M8M=)%4/&085A\D&LC^7.% SC" :(@"A^ (N&I"8MOF0J0C&-PP4%[Q4 5&L2&&#*S+8,85=) M\?K>I;->A:.@PJT$X?-)@904_ &Y$@G7IUCU0FV X.X);3V0'#/FO5-=04T= MV;I7F1%"-@W> ED)JRCS@94V8AILQ.QI3/ M4FI\ZP#BP0+MR14.AQ,L&W6798,0]R$61.7-P^&$8V9)QKQWM2+(S0N2,'N1 MK'EPL$X==A%3%O@BK"1O2PYB2\Z)) ?0:K5+0G*3++LI:ZLYG!@R.EK33L?F MA B5N=J%N/$#YVI52"B*6HI\GB*#2-XP#NLK.^TD=JUL;Q<$$:6B**J2/:HML4'!"=H.GRZZURI1QW.WG!0O;8^Z0L#HT5=5D1<&:MLESZJNC< M-!OY>Y50*M#^3+Q*\9@]+M'&,B%(>IZS0^K($8"=2@D$V>0I[:YMWUW>L [.O2DSR4N["/#Z+B# :#:8Q$W%1APO/N2O0@T(!-_I4 Q4$EV:,/%T$C_,'Y>E<*$XT5W+!E M(F'QE:ZKTN[7[':Y:;7,$<,KDYX"7M%&K0*Y$IWW M1"R"4&_RWZ+.2CYV2EZER.XK$VIIRI6@#MG_!= ;8GSD5NKET6I+2!0I.X2U M$B3F:126)T'+X_ZP$Z;2725NRZH,@9^87NSM4__7IMG?3[(25U8*524NYCR# M(TKL\ZC+ (MU[(KCPY$]>OXWW'!Q!AW0'"^/\.9B@-7AV)T:6?3D(@[0AF;[ M,E\;71A\>&#&IM!>07&]*:6=RXKHYLNDN+U($W_9UJE$X#1*"J@D3O,'N>W( M7_D%R_"C]+=:,!&Y$$CAO-[OM'?B1A^[6*1K[[V[C\,,NF3C3.6^)$ERG=\9 M@[.3+IV4+5X2;'('B16Y$&AR T.C"MA)/6 PT28>7JP9<[*;*S4%$$%.V/>. M;^$(1DAPIY$!&D?FN$41E."*:5!!+VWB?P%T[$$"DCL,-/[&CW8@W:Q<3^9#JVI#*^?0GF:_[O,+ROQWB:%;"RGON2F^:*B%8V QBU2PBI-I*T;E M:U79<=+X!@HQF0X8=?'4LTP#P%0=JIS @'8+XB^IR*JDB$QL64)95] &:>&! M;5HF$P;B$!Q%V&/2)2JO](55N#XRE=O<:\>]U-N5@.8DE4C).;'G+*T+.W M3BS1(5/;(R,3)D<]OY:U.^1F%<#L8Q'OHQMG[K1^U]CI5"3>8\<]=(AP C84 M8;=F#=12KG1!B#0E8&WOF+N4^,U]CX&ZYHK '4I-G/3+%K:J\4 M=(.TEA]855QTM 30Z98F>QZQM0O&C:IRG^0U71!);4KR-3@O;G!P!>*R\TGI4=CR8LPY+%C[H>7-,@R=(T<-UTY8[A"VK@'%;6\"0'N]@!! MPQ6(Z7?75B/1U#=5,"FM'KJH%=8NES7?7=IF205MNB>E8A92\)"M;]TQEKK0 M*SAFEW%U-U']36J)+7('X[$T3W,7'%UV>-5ND1Y=:B[U0=-U=M634=^V)"4[ M95<7T3LOU5;!U7^GX'UH>.AN[HF^MMK]IYI+Z9ET7T#PYY2YN.K\]SO+H)Y_ MAD^9+][8T72Q)NDFR@ =%N[,LH!V"S1M]7"K.Q5WKA> M1MFTO[%S2+%[6>.0#]A/+J4LY"ZLPCH%U1:CWM3'+0^VFUQ!"WE7!X*DHUB$,] M4F AC&&X8R0@QMA5"6-R/IPM"%!N+YV[V92KAT=2#Y>:H]290P,7=SV+GTKJ6/GN MD2T MT_RV;^K83Q=#.+AU0B?Q_%H-(FGTP4^7T%]9N,9/DWC^7 8CQ?T>30? MQ_.K&<^;S>?QU6C,GP?X/%Q,>8W!:!%?#28!;!^+&W3RR6*N9J-!/)X-U7 > MSV8C-9M=Q=/A0(U&6'6B9O,!*)R ._%@.E#SX2B>#Q8=A*L.8NUS-1V"[HE: M@*#!0 W'$_YZKB:S>3P9CM5T%.,T&'85SQ:S7LJA>B ,AU_,IFHXG8,U8S5; MQ",L.!J#W.%"C4>@>HQ!5V#,0HUF\1AD#N>+>#$<1O]F%."A'",%2>C.W7]8 M&XN%3Y'(UNL6LWDTCJ>3"3Y/P($)V#QS+)_&DRL2U2R>3TET]'D\!C/'))11 M?#4FT2UX]!"C%RS823R9#"&@*[IGC;[K>B;N=/%1,T)P%12LJ(4\N<=CS^G4COVXH ME$:A.L#!VG)4W1VM'!"ZHH(F-V^%VD"W1Y)&W %H"JPH(TG+KTMZ?B; MU(L#GM'PX:-\*&IS4\R\.MAY\Q^?DU,/Z[=?K)1@=G]WKNF<]\)4[13YR MY$ +M6161C+BI)-W$-SCCHYDA9@53"!62^J%R6TIC?Y >7PW2M"-@5[VIQF) M])BY"WCLU.Q(2U94]*(-K=M1DAM802^KL.X2A>@[9_I\:G 1O6EO'BE!]%,, M5;K@&)_,8$@J>LMYR"HQ.2-9,4OMLD%_&>F91PW)H:I"BD3-QNZ%CKA747\ M]$'R\(UR!;B:/$E=%X?VKU@X85V$XE:+ NDR\CAO.^P,DJ*\5EJP6;$CBBSC M*X(0,WR:SQ #QG#Y\0#*/KR:4DP;PJO/AVJ\F'(<'B\F_*^/\BZ>GS2&SBMR MP]-.G[KDR,-X>;J"\$=COS(?/U!;>/ $PMN[AAU)=3!"_)4-H[^Z87L!&%$) MJ&HZWGE7UMK75$(31D?PY/6ZF[.>I[([-=IU@Q!WIX0V%0HZ0-ER[9QV&EB) M?N<;8W6@.LY+4(]4]^'ARQ;:*'ZRG=#PJ&76>W1I,Z*[9^[=Y)RDO0\@_IBZ MD9/R;_0ND3^P;ZB4DA6M].[-^QN:U%2Z#;Z2;G1^LIU0QTU;;-R29Y8//JX2 MJ6NZ;3?^S0EI-BDRZRX\9!M^PPDJ6[L.IW#/ SV%R'TI;1^UM!RCOOKD2NK?:VR'N MXZ*ZI?#M\1UMVY,66DO=I2N((VQ,OUY J4.CB8OCT)UB77+Y0E;6H4W ^E

<\(;$ZY M:/7N>_NC8G+!$3B@S;J0!?8=\ U8/1S\ QD3E<'\NT[]R2T=3R9/_L%QC!./ M V9_H5[+<'I;A!OO7*O[HP;,7D$SZE^A%VW:[=12]G$X>%M6_!I*@6.<"@2C M-A",3OKE7S1EPM2SHI[]&YKR'&K "3-4[([Z;P[Z^I-K'H9+V"@ZN1&[1[JE ME!8:,AA^=Q2_Y/YFTTWQ[5M/O"+Z^1HG)_@"XEV*=OO M+7]C2/%27?)PT5!+A3N7<^]7 +%(L8'[JZ2 MXK19]=KI972Y"W>*D0,4\-^:WU2AXH757&FM"GXUH*5/6.)O-2JNADO5Q_X0 M*B[ M#I##S^/1[$K!02.?'0U'I!Y29:5K;9&3-!GT Q\/!'*DS%17^PI:9DS)M MC5@QGL^P]0(9]F(\Z![LB=[YEYCQH W1CL"(>MY3L&!P,9C*/XO(ZU/O:2]- M((_;Q2VB3?=4U/5=ZCW:0X#J5,M#%[0_F#Z@'$F>ND;X?HMI=++%% ?F+MLE MO94C+4BF\J]T//AF>(*\YYYR_[K5GYPJ[KA3&H?0LO>OF!Q^B<:)/0XIXN @ M K[L_+T(?DGXAB,.^T[YTQ'A:?C+&]?R]R;:X?)G.S[P&UT6^'V%J8.+^?1, MK@7]E[K<\5^?6)8U'#5_W&C@A8H&X'?JD/=?:(/P]TA>_3]02P,$% @ MPX +56.'$'.O!0 DPP !D !X;"]W;W)K&UL ME5=M;]LV$/ZN7W%PBV(#F%BB7ITF!I*TVPJL6]"DZX=A'QB)MHA*HDM2<=)? MOSM*?DGG&AT,V$>*]]SKZI7L M\,E"FU8X7)KEU*Z,%)57:ILI#\-LV@K53>;G?N_&S,]U[QK5R1L#MF];89ZN M9*/7%Y-HLMGXH):UHXWI_'PEEO)6NH^K&X.KZ1:E4JWLK-(=&+FXF%Q&9UY+5L&@)"-[Z,F).M25+< MES?HO_C8,99[8>6U;CZIRM47DV("E5R(OG$?]/HW.<;C'2QU8_TWK(>S*1XN M>^MT.RJC!ZWJAE_Q..9A3Z$(OZ/ 1P7N_1X,>2_?""?FYT:OP=!I1"/!A^JU MT3G545%NG<&G"O7<_$^S%)WZ*H84=17<;WZ_X M4<#WPIQ"'#'@(>='\.)M+F*/%W\'[U"X?U_>6V>P=_XY%/" EQS&(SZ=V94H MY<4$"6.E>9"3^:L741:^/N)MLO4V.88^OT5^5GTC02_@C;)BN31R.=01=S[( M!]GUTA[R^BCN8:\_8LE,<'E[#5F8,:AV]F2%W/2V8&%T"R76F/)EL9%=/;:P M-!:ILE*T[6H)G7"]D0Q$2PEGX!2V]I+Y!NR[4AJ'X\0]42 ;<'I4"EL'"YPC M%L1B@;Q&X_=/(-&F;E4)"[2KC3V%.[1QK=N5Z)Z@%A;D@VCZ?5\M"J7&3O^* M>P1-7BUT@]A4?D<]#JII>BJ^DX/7U;,L![@L&VTQ$')B$^BK%P6/\M<6&EWN M6+62Q@]0C WT?:,&B--O"A?L"@>;\@9'RQOA;J40#O^H':3J=0Y%#XH/[K3#[Q\^&=RJMF\$)=R'*,I26JL-L>8E M1"PM0A;-.,HQXSQA:5J@/,/VR>(,I93E4<3B@F2>QRR?95XORW,VX[&70Y2C M(O48(2_8+$R"MX].^CBI-54I3]S32L):&(,CBXQCY$F10\9#%F<11#G+,@Y9 M-F-I% +GB)I EH?H88+986$:0AYQEH=%<.VKZ+O"ZH5#U+'S,,&4AQ-((_0[ M@0(="D.(XL0O3R#)=19SU>PZ ?M)==1C&'R1I1"E M.:8FAJQ@^"(%'J.[40$Q1Z]C/#3#Q!3 ,Q:CFU%>L"**@M\Q;GPO(@I!&OTD M&N5C/QD_B(U@6RD8:KOI+9]F'K,T25!., ,)ICD;4YZR9$:EREB>4NE(CF-, M9DQ%X6P64^D*?SK"TX4O;,*2),("S>#(;$NWLRW]X=GV5AC*EX4;:>"VQHH< MFFE'\0[/-!P208?7'M652%RB*):Y;;%.EJR LK1>]>.4J=2#JBCE>SJX38-A M[=_]-$F0,'B5(;?WH2S@=0C[H"-](GWC01$HV#,^6,5+"=U8AHFSTM1UQ,6* M=+"'&/2^[O34X2T,Q\\38,^6GZ&5KM85#M-:.+P+]4T%NBQ[ VJQ;W\\K5<$ MYZD;C.3!D2W1 _E(_+>R.MWE?N??D!(Q*A,][#@X[1D//K!L?7'+M4X M,' 8$'6Q,].415D,+]C MG?PK['F"DIA%(8Z3D'CY/TQ68Y7)=(KLR3,T72!WBCC<#^P_?3?,&[\AO_0* M7UTT>08'@RMA\47W$L+3,!U^BF#33\]V#])PNG=1Q"F_]-=A:G-\"P]WQNWN M]L9].5PT=\>'ZSJ6:ZDP/8UK/%?@S1T M )\O-#;WN" #V_\A\W\!4$L#!!0 ( ,. "U5B>.&PO=V]R:W-H965TM#Y6JM-L>ICTX< E6C[J5ZD57 MB 9>:R[T+*B,:291I(L*:ZHO98/"KJRDJJFQ4[6.=*.0EKZHYA&)XU%44R:" M?.ICCRJ?RM9P)O!1@6[KFJJW.7*YG05)L \LV+HR+A#ETX:N\0G-M^91V5G4 M4TI6H]!,"E"XF@4WR62>N7R?\)WA5A^,P76RE/+%3>[+61 [0$.YH-SI_IDJ.^F$;&,5UPJ5N%\/-FJ8VR?\6O8QUWP.PXT#EEHAM:X"RP5M"H-ACD'S\D MH_C3";E9+S<[1<^?K//*EB/(%?32CXD\B3DNLN<-"FF=I0V6;AM3(:PDMQ9E M8@U4V]@$]CH&ASH&]G"*JC\=N,,"ZR6J?209+.C6_J$&%:-< Q6E-R8P 8V2 M!6H-9W 5DF$<9F-BQ\.0D'$X2D>#1:<2SM.8A%F:P 63HOH>;Z5K;0X)^#5#4WJ*JCIUL%O.B#ZLICOI]X-1>-NUGUMIW:K&1G M*M' 3A'=U357/[=0R=/:#=S1\%4<2V,-WF;5\B,\@OFCW2G4O FE$#4T6LB& M*#BLW;M@N8VL?^_PIX"3GLG$5K*7\IM5/A5KU[>$H(+<6 2.RS/<0U59(*3Q M_8SI3BEMX%P>T3_TM6,M>Z[A7E9_B<*4:S=S20$'WE7FJSQ]A',]L<7+9:7[ M+SD-OA%FS#MM9'T.1KT6S;#R'^=]F 5D_BL![!S >MY#HI[E>V[X9J7DB2CK MC6A6Z$OMHY&<:&Q3'HW"OP+CS&:GL+_*_"2\*OD9<#L LE< 0_)%-J;4Y*$IH'@9[R&YB2$;&6[95< O7-V2,*"$^8Q= MP0NGBL,>+_R?BBG951Q+?5GXWW=[;12>E7\NE3X@1Y>1[?U9ZI;GL';Q@FA0 MS^!NWOP6)/Z[*[RCB7=T#7WSB/>QZ"H@\D N=^T2XZN8EQF/X(X%AVEG96A@\W,RZF;Y#WD4.]!C9; ^6S]?R#B*'60A+&,V":%RQF+S$#55# MD3,_&D4I#=,0H1>ICRQ2Y_'I8?YPRREB&4K1(*(N9\QEPNI2R*HB8UQ.& M$5V$T;AB+0V>T&X8:J*Q.WW$WFG"@@4Z)"3%A+[S) VO2#MOPRQ]0K/0IXLX ML*+/$AH'&1+0>DGN\KRKNXK;3A> QR(7?!B@",%KJ8SX=S"\#6D8)S3),G)C ME2#!5L6,W#B[BVDI:?"5P8:&-$HCRI+0*KB72433)"&7+HDW&VTUJ&,_P#4> MQJXQPY2;K-,;<3>,QE_NPP.#9^\H&DTJ.&"H?YO&+E'#T!X4(]M^4.ZEP;'; MBR6^%TC6SI.IE:%8:6=D&U2),HB@/ M:\:E/QVWMFL]':O&"B[Q6H-IZIKI/VL27>HOVV MNM:DA3U*R6N4ABL)&A<3?Q:?G@V/:O)#!53)7ZMXIE^7$CQPA%%A8 MA\#H>,!S%,(!$8W?&TR_3^D"7\I;]$]M[53+G!D\5^('+VTU\4<^E+A@C; W M:OT%-_5D#J]0PK2_L.Y\L]2'HC%6U9M@8E!SV9WL<=.'%P&CZ(V 9!.0M+R[ M1"W+"V;9=*S5&K3S)C0GM*6VT42.2W M,5+,T3BT!.^P&OF#Z& M- X@B9)D#U[:UYJV>.D;>)^5*M=<"&"RA->%&[C@IA#*-!KAYVQNK*87\VM7 M&[HL@]U9W!2=FA4K<.+3F!C4#^A/W[^+\^C#GAH&?0V#?>C36YK*LB'2:O%? M";NX[D7;S?49UF/MDR@4S:"Q6+JDMD)8*$'#S.42F"';*6Q9>3M8>72-1=7? M(UQ@@?4<]=82>]?,HJ0+. !J4A!%T;/DG;,5MTSP)\I>8\F98^/<(1TEP6B8 M0$HX23+R9L7OAFMR$TA3"OR9!NON=Y0&)WFZ.;P[1; [O/(D#T9I!MDP"^*3 MV/N*QM#N*)JZ$ *['D3X8IAKU,MV91DJNY&VF^O>VF_%6;<,GMV[E4J=7W)I MJ",+"HV.AYD/NEM3G6+5JET-&PO=V]R:W-H965T2/5!%P"&?"JYT!.G,&9]XWDZ M+Z"D^EJN0>#,4JJ2&NRJE:?7"NBB#BJY%_K^T"LI$\YT7(\]J.E85H8S 0^* MZ*HLJ7J^!2XW$R=PM@/OV:HP=L";CM=T!8]@?E\_*.QY'X \XM$-+XI\5T MNBUMX&Y[B_ZVUHY:YE3#G>1_LH4I)D[FD 4L:<7->[GY&5H]-<%<C<)9AG)F^ Y2DR<43G7/0EV//(*B=\O(6X+8!"$\ 1.1> M"E-H\I-8P&(_WD,R':-PR^@V[ 6\I^J:1(%+0C\,>_"B3F%4XT7]"O^:S;51 M:(*_CVEL(.+C$/9BW.@US6'BH/,UJ(_@3'_X+ACZ/_80C#N"<1_Z]!$OVJ+B M0.22W%).10[DL;Z0=YQJS98LI[6#<;X60V9:@]&$B@5YQ^B<<688Z&.Z>G<^ MKNNI@,&\I='4A?R !J]IT!<:_(4&#MLEF,:\Z/)(-K2>6$J.94#?D&\E>M ; MO$]BT$ ,?EN#PGFQ:G4H>W.OY/*JZD2YY WD4,Y!;:,#\CU)L]B-_.%@5DIE MV+_-'E@8B2D _Q0 *9O+ /8RO#Z#BW3D9DE$+@=/TE!.Y&=YN*\AD(,?NW$2 M#7;/X*Y2"H0Y$+;-RK.+F43*5P94B1A1@ABCX>!7*:[RS\=R*59-:!PD;CCT M6_[["VWJD=YPY*;)D'PC%QUFX961^O-_$/Y5%O!17^#ZH]A-PO0\B#FLF!!V MT6[H4?\\ U6M;PY57T2![X;8N-P/WAD_WU-]UCX?!:DVNK:A7^7(.'73-/QR M1R9^XD99U.-(O'%ND"2DIU(G7:5.SJ[4;RM3*2#W3+"R*ML:]4"?\<%BCI;B M7NCCI;C98U"V>S3JUNT>Q^MLA0921-ACM->"VZ_UU^G$4 4GJW&OL$%;A<)L MZ,9!:+L1B4:^FPSK3DP"I!(DX5Y".LJ9G[E!B%8!C;NR=C M;^"O 5!V &ULG5;? M;YM($'[W7S&B4=5**, "!E+;4I*FNI,NJI7DVH?J'M8PV*@+Z]M=ZN2_OUG MQ#TY[H\7V%UFOOEFY]L=9CNIONH-HH''6C1Z[FR,V5YXGLXW6'-]+K?8T)=2 MJIH;FJJUI[<*>=$YU<)COC_U:EXUSF+6K2W58B9;(ZH&EPIT6]=3/8N[XEA *S(U%X/3ZAMCO?H'[K< M*9<5UW@MQ>>J,)NYDSI08,E;8>[D[@\<\ND(YE+H[@F[WC;.',A;;60].!.# MNFKZ-W\<]N' (?5?<&"# ^MX]X$ZEN^YX8N9DCM0UIK0[*!+M?,FP$JA%O9F(V& MFZ; XGM_CVB-W-B>VQ4["7C+U3F$@0O,9^P$7CCF&G9XX0MX2_[4Y0:\*:!+ MG L-7RY7VBA2QS_'4NX1H^.(]L1[0D="HOJ&S>/TJF/KO3O"-1K[1 M*?3%/9W HA4(LH1]G:YE;0O%>TE3'G+!\^OH68I6X0,XC2T V#8+)4DI! ;X@()3L"!I$[ M31D$86;?DP=IN*![IP?^P6:>018R-\D2FX7K3YGK)RF<4%$\JBC^916-I]WR M^$BE4W#=*H6-@;\JOJI$96B'CZGI9*S3:L+#H+(+F@]!Q7/0WU35SV7T8W7= M\J8MZ3)H%:K7KU(6).\TJ4PIWG3LSB!,8]?W_6X4V='D@3_BH:RF;A)'$ 2A MFUG$2N?4='B#LGVVB@/?3<,8HBQT4Y+?]UKYR:VR2@D2TGF:6?UD@9M$T5'- M> <=HD:U[OJ@W>NV,7VS&%?'5GO9=YAG\[Y/TQ:NJT:#P))<_?.$)*'ZWM=/ MC-QV_68E#76O;KBAWP54UH"^EU*:_<0&&'] %O\!4$L#!!0 ( ,. "U5X M?0XGM@( "8& 9 >&PO=V]R:W-H965T3(%!Y"151%Z(&;MYLA*R(-ENY M#50M@10NJ&(!#L-14!'*O73JSE8RG8I&,\IA)9%JJHK(IP4PL9MYD;<_N*7; M4MN#()W69 MKT-_KE32[H*<4M *NJ.!(PF;FS:/)(K'^SN$'A9TZL)'-)!/B MWFZ^%C,OM(* 0:XM@9CE 3X"8Q9D9/SIF%Y_I0T\M/?TSRYWDTM&%'P4[".F;5]$H_'!&:=(K3<[1T[7INZ(QU1 ;9*NC]N4Y M)O0LZKC0NQ(&W%:][JI.*M%PK5 N3*LI;>_5):"-8*9C*=].T$E) U.FO.SK MA):00Y6!W)]$@W4II'ZO05:(49)11C4%-1G<'"CP42TISVE-&'J-P%_5]#^A=02P,$% @ PX +59&ULE55M3]LP$/[>7W$*$P*I-'':M 7: M2L#8RP=81;?Q8=H'-[DV%HD=;(?"OY_MO%"T4FVJE/C.SSWW7.V[3#9"/J@4 M4<-SGG$U]5*MBS/?5W&*.54]42 W.RLA^*B32Q 7EF1\&P=#/*>/> M;.)\#VNF'_Y&HWM2RIPBN1W;-$IU-O[$&"*UIF^DYLOF!= M3V3Y8I$I]X1-A1T$'L2ETB*O@XV"G/'J39_K_V$K8/Q>0%@'A$YWE$-E#_JD"V$0AGOX^FW5?OKO#7Q5)I:2[&[UTU5A2#W12V6J8;%,HG]&:'!V08G.\1.&@%#O:QSQ:F^9(R0Q KN!7\Y+&D&5LQ3, =&'PK M[)U6NV3O)=XM&_XQ7<><0YRV!P%O3-*Y+?,E2LMQ[YK!A/_MZKQAA.MGE#%3 M"'/)8H1]FYW&;6:+TI0GC*^[L,0UX]PL;9(7I!((";M1$, 'Z/S6]S&W@M%5E91G'@(@\'*:%NYB5EV[%8L9WZDL+=BM<.0NSZEXNF09 M/\Q=Z#Y?N$N3C2HO>(O9EB;LGJEOVUNAS[P&997FK) I+QS!UG/W([RX0G&9 M4$7\GK*#/#EVRE(>./]>GGQ=S5U0,F(96ZH2@NJ?/;MB658B:1Y_'T'=YIEE MXNGQ,_KGJGA=S .5[(IG?Z0KM9F[D>NLV)KN,G7'#[^P8T&DQ%OR3%9_G4,= M2V+76>ZDXODQ63/(TZ+^I8_'1IPD:!QS CHFH'Z"/Y* CPFX*K1F5I5U315= MS 0_.**,UFCE0=6;*EM7DQ;E,-XKH>^F.D\M[O6\6.TRYO"UA9T; M7JB-=#X5*[;JYGN:=T,>/9._1%; &RH^.!B^ MAH40A2 R$R8-86(E?%4MAO2?DC)?*\V456U>ZCG%"F7B2P9$(/9#Z/?X#L,( MC(.3@>CP#1J^@97OUT(JFF7U6BJ)*J%5-2T2$]-@0 'A,(!1C^DP#(91!*&9 M:=@P#:U,?]7#KW6Y2"J:@C_1;&P&6(%*R[F06[IDQOF^#V,0F_G%#;_8/H%YGC.Q M3#7)/V]8_L#$7R:65A!SBW_Z 0;@9U.?SP36J1>"UEO &07Q"-:9%"0",$:] M\3$$HA"'\",^NB4?(4S(8^E'8YSP,0PB$(R(.44L9G5L5[8@3%O$9 M@+I5MT8+[4X[25N/6)UY!:. ]$=H&(91$."1$6I]%MJ-=H*ZVI&FC,S0@L?U M%;8.#.T6_*+"0H/C!@@3OV^YAD", <9CW6Y-%]I=]PO?,U'H[PQE%5D[RE25 M/1=:M^;6OJ'=OR?*[-![M0?ZA/1MT! (@S",T=@@M48-[4[]*ITUN#<".(!] MUB:7!R0:4]K6O>$+]OT*I8T-;Y;#]T]#F!^$/ASI,VK]%]G]=Y),(I/]AH3@ M'EM3'(S#>.3U'K7NB^SN.T$H[4@3A/(,0-UJ6^-&=N-^44N/^9U9 8@/!Q^( MAD 48_TQ.38BK@!+IPZZ<2N^81#T MW[X-80@ ,O)R@5KG1G;G?H6^HN'W<(0!Z.]'&,((TE\,(XQ;WT5VWYTFKT,W M#2(TY#H,0P$>[6YKN+"KIE<>\>/^ M2Y I$(8D(GUQ]4[V8/5G?E)M34L]>W>%JG]IV.0W*8TW6A'\3V.^S\1(8O M$X6ROV1;Q4:8,5LK+%%LB332RF1M;&XM&-XR;MSC5$I\RQ.ETBG^+?%T $7-R2R5G?*'( M!"29+JD$A@+WH87"2\I[)%0O\S";P@:- S>CO;-$H2+VGWW,VA@=.P.(K\ M.*S#7DF+:FG116E/]@1#3N@&)#8D@BI+;!QXI+)G@@U-:"8!FZ6F!5'F)"HREZ+MJA[R5'JD^C8B_V.\V:DUIS\CX%)SDKUOJX$U3ZDZ;"1UZ8Q$<63@.3 M3AAU0J_91*I/@BPZRX85Z2 M.5)ZK03?G:R&;+708F7GU$QHG'KV=HG?)2!- #Z?"Z'W"Y.@_M))_P%02P,$ M% @ PX +50"!$.BF!P Z3D !D !X;"]W;W)K&ULQ5MM;]NV%OXKA.]PL0%=+9)ZL7L3 XFU[@9HUR!9-PS#/C R;0O5 MBT?123O<'S]*5D138E@K.\'-A]:V>![R/-0Y/(\HGCV4XE.UY5RBSWE65.>3 MK92[-]-IE6QYSJK7Y8X7ZLJZ%#F3ZJO83*N=X&S5&.79E'A>.,U96DP69\UO MUV)Q5NYEEA;\6J!JG^=,?+GD6?EP/L&3QQ]NTLU6UC],%V<[MN&W7'[<70OU M;=JAK-*<%U5:%DCP]?GD K^)_: V:%K\DO*'ZN@SJEVY*\M/]9>KU?G$JT?$ M,Y[(&H*I_^[YDF=9C:3&\6<+.NGZK V//S^BOVV<5\[5,^_)>W#C4#3,JL:OY%#VU;;X*2?27+O#56(\C3XO _^]P2<62@ M<.P&I#4@?0/_"0/:&M"^0?B$@=\:^ TS!U<:'F(FV>),E ](U*T56OVA(;.Q M5NZG13WOMU*HJZFRDXL/8L.*]"]VF(1BA6[339&NTX05$ETD2;DO9%ILT'69 MI4G**_1MS"5+LPK]Q(1@]:1]A[Y''V]C].TWWYU-I1I3C3Q-VOXO#_V3)_JG MZ'U9R&V%?BA6?&6QC]WVF#@ IHJ,CA'RR,@E<2*^9^(UHO@5(AXAE@$M3S?' M-G_5#N6\/.)RC05%_=\LOCWOW#H_Q3.O#"@/<^=?8Z]"X(AC9@&01ATG1J> MAYWGX2D3K%:SI%0Y\"]K.KH,!QZ'X3S 7L_A<##&")/(Z]T1L7-$SYSIJ/,W M.;/YKW@7CI['TO4;# Y>$Z\*)J% M]EB8=R3,G21L%'E5[70HK4HID([E3^J+1/6;#D?C+E_+WVU1>P<_3-O$.SIFLESLO-K7?H4\@OZ M_3W/[[CX _T/?5!+ZF^* %0*](Y757?-6A,Y\<U1/8K!"Y86 M$HI.2+08"LVDDV@ZB?-6_>&SY'5AC!X.]ZR*82N#9)B^Z!P'1WFD)OK N>[&S%K2&Z+NRV*C$]/.6%3I M.#4TAZ4XG05#G>3N;30WME[]XUY-KW7]C]T"(.9K+FH1]*B*G<$(5(ZW#$&B MQ5!HYK-$+16(!QZ,!%0=@*+%4&@FG5H=$&>Y//+I5 MF1 >9S;TPZ@6EN]?1 M'.%!,4UHA /ZQ'))=#5/W-7\8S VXGM9%E(P=6\]I'*+.F8N>9%L<]%D:L&G85;R+K'._I6!1474&CF7&D%0N"?O!-0 MP0&*%D.AF71JP4&>_?B=6)ZK>X&/!^+5TI#,:1#A_F-9]UB>ZZM6 ^0KS^"- M("W7*%$K<2J14.%J)> -S]^8/9ZX+RU4=CW'$@XF)YK/4!.>P;_4@EN6>:J M49*R[-0$!ZHS0-%B*#1SKK3.(/ Z@X#J#%"T& K-I%/K#.+6&:X$9]E<" D- M?+\?X\.&E'J4TGZ4 XD0TU4M+HA;7(S.;W-+ZB(#YVVMO,@S_G"?B9>0!U3+ M ^K>27CI?'=52%70-==.3GGN(8_>_P>5'U!HYG1I^4'A-R4,/4G.6%FS;$AX4>#/^^]4V!KB*)@%_9K./9;G^GKT'HY[0V)LSFOAS&R& M^T6=M16)^JZ_1.E.=>E.3RK=74GN%7H,K>8=-#6$-.'_*//53Y$MU9X[\X%N M4("BQ5!HYAQJ24(#^,P'N0FQ!$6+H=!,.K7.H6Z=,SH;A"=E U!Y 85F4J3E M!76_GO1_RQIO^8H+E3(N-@KHBSMA@,H94+08"LV*%^4@J>;XI1\X79A[*R MHL50:.;T:6GEPTLK'U1:@:+%4&@FG5I:^6YI-39?N.%&4TELLH3T7W-_"47F M:T7FNQ59>[JE0C<\X>D]N\OX,S/ K622GQ3_H/L[H&@Q%)HY&T>G*^!?*/-! M]1HH6@R%9M*I]9H/NX7DAAM-):A6\VT[5_V]].G1&3@5M9OF+&&%FA _'/[J M?NW.*UXTI_1ZOU_B-\O#J4,-F]CM2XQ.%&++'?- M2;N[4JK4T7S<Y<_ U02P,$% @ PX +58[6 MR"QR @ 0@8 !D !X;"]W;W)K&ULK57+;MLP M$/P50BV*!&@BB7KD45M 8J-H#@6"N&D/10^TM+:)4*)*TE;R]UU2BFK'LM%# M+Q(?.\.9%7FQMS*FOO9]G:^@9/IUUXX,N5 ML0M^-JK9$F9@'NM[A3._9REX"97FLB(*%F/O)KR>)#;>!7SGT.BM,;%.YE(^ MVJ%G$S!,"[T*3DCC[,I.7E_.O(-'F=!?MY1W[;4] #U M5Z;.211^)#2@= ^.0Z?0M[#PUVXCR9[I[1W2AU?=(#OK[LIU[F0>JV _+R9 M:Z/P+OT:\M<2QL.$MKZN=H]Y[=(P] M>V -7AH#BC.A":L*5UR$5Z16,@>MA]RWE*FCM,U@DUW0)(BO\%MNMHWMQR64 M7J51VL?M:(Y[S?%QS6T6AI2UP&3KQ+,HH'$4OE$V$$?#^"*DP\J27EER5-DW M:9C Y'7W:4AALI>3]"J^#-*W"O?CDB#$%,=O%/I;%6Z[*];6DE>:"%@@,CB_ M0"+5=JQV8F3MBGXN#;80-UQADP=E W!_(:5YG=@^TO\VLC]02P,$% @ MPX +57ZSK2HY @ E04 !D !X;"]W;W)K&UL MK51=;]L@%/TKB$U3*[7Q9YTT^B+X<(]AW.XOJ2UD,^J -#HA;-2C7"A=37T/)47P(GJB0I*L[,4DA-M M0KGR5"6!+!R(,R_T_<3CA)8X2]W:5&:I6&M&2YA*I-:<$_EZ!TS4(QS@[<(C M717:+GA96I$5S$ _55-I(J]C65 .I:*B1!*6(_PE&(YCF^\2?E*HU LV"C@MFY&\M/>P M PCB$X"P!83_"XA:0.2,-LJ&ULM5E=;YM( M%/TK([9:M5(:F.$[:UMJG%:-U*A6T^X^5/LP@;&-"HP[#'&[OWX'<(#!>!*D M\4L"^-[#/7<.^/C.;$_9CV)+" >_LC0OYL:6\]V5:1;1EF2XN*0[DHM/UI1E MF(M3MC&+'2,XKI.RU$26Y9D93G)C,:NOK=AB1DN>)CE9,5"468;9[VN2TOW< M@,;3A2_)9LNK"^9BML,;0 UVGM6B?WC M)_0/-7E!Y@$79$G3?Y*8;^=&8("8K'&9\B]T_Y$<"+D57D33HOX+]DVLZQH@ M*@M.LT.RJ"!+\N8__G5H1"\!.B<2T"$!O33!/B38-=&FLIK6#>9X,6-T#U@5 M+="J@[HW=;9@D^35,MYS)CY-1!Y?W M=Q&5* %V#%1/J8/PWP'D,WO\LDYU8 M+PY>WQ".D[1X ]Z";_T44L;U7CV";PGJA=@E6+!46;\_9,(![><9,6_8U0; M;&<M!WT3@'M^7@*CFL1MM] 7(RVG/WJ QH.[Z#/'M0[T@@"CS'][SQ>KVV7D_= M\ZK.[WR!L]'%0ID]]'#2!24S]EJE_QK>"K[,-FL"D-@1M&P*M;X7@6'B^ M'X2!/Q#H\W%2N6%;;J@L][I,TCC)-W6A[)?C49=,$)O4! M6MUWN75&_1[ -75"%YK\)*1NMK/ZW42D9>J6(D\>>DT MH:W(K.24&E0YFN8O](G,A# 72&(GXV3BZX\SQ0;7KN M<+05E]CPUZ]2O$K(R2NF"4UN0.>B8'A.\6JU4;K0Y-E YZ.0TIQ,%N\!3A*E MX_BV/_R)-A((0]^RK!,6&'5^!ZG]SOW7]ZL7JE:--'E\H0E-YMV;XYQUD*-W MDG,.#X4Z#X7T#G,.<)(871\A-!R$C 4ZH8=.#4)0YW70<^,<7) M3>.7_UQ3 M(TY>,DUH,O_.."'WG.K5ZIUTH@L$PK.J5ZMYDD7FMR*SCPA M]0QJLGK#HP$Y@F%H>T/U'L=5=F&@7;.W_U-MOMUAMDGR J1D+=*L2U^HGS7[ M6;J326:\.9@)DB>EV65#V/@*> MK0IC%7X:5W0%V?PC<%6'YR)S60A MY:,5ON2)%]B @$-F+ /%WP8FP+DEPC">&DZO=6F!A^<]^ZW+'7-94 T3R;^S MW!2)=^V1')9TS,L09]*9PH90YIE0D9.;IS6K\(D,N9B"H8QK\I4J16VE+\E[\C"?DHNWE[%O MT+/%^UGC95Q["5_Q$I$[*4RAR8W((3_&^QAQ&W:X#WLCO4@I&5&["%-#BN[EC@ M0@5E#?!^*:79"]9!NZ+37U!+ P04 " ##@ M5A)%%3EX# !W#@ &0 M 'AL+W=OW[O_!S.PZV0 M/]0*0)-?:9*ID;72>GUIVRI>0]?$2)D)\<,,;N8CRS&, M((%8&PB&/X\PAB0Q2,CC9PEJ57.:Q/WK)_2/N7@4,V,*QB+YRN=Z-;)"B\QA MP3:)OA/;3U *\@U>+!*5?Y-M$=L;6"3>*"W2,AD9I#PK?MFOLA!["2BT.<$M M$]S_3?#*!"\76C#+95TSS:*A%%LB332BF8N\-GDVJN&96<9[+?$IQSP=W:,O MYIL$B%B0FTRS;,EG.+I2"BWT]AHTXXEZ1\[)P_TU>?OZW=#6.*O)M>-RA@_% M#.XS,]PR>4$\>D9W&A(U?\( MK%8'KZJ#UX8>?1::)83O"L#R C1I+H""',B\%AZCP U"SQ_:C_MJCL/\OD\' MM JK\>Q5/'NM/">@%&[V>)-N$J9QS5@JI.9_F'D+-+$MX/P]&N>!$_2# [8- M83V'4K>9K5^Q]5O9WAS6\XQDH)MH^D?S^T% _<$!S88PSW?Z@V::044S:*4Y MQ4IFQNVWD,Y -CJ]%>%4IW<$5A/;K\3V7W+'][NL0T=@M3J$51W"KG9\>.0Z MY("? W/^,ZS&F+9'V[>B%;MAW#US;%.=1UPV;;4MWG05M M_<..KN*?&RYQS2: C673RK7XMQW[Y%5[B=:"[GH+ZKVH@UM;EY-KT1%:O1:[ M_H6V-S"G.+AWU$*%WB#P#@W\K[""J;UW*C!',FS$ESQ3)($%YCD7?=P!LCCE M% ,MUOE!828T'CORRQ6>#$&: 'R^$$(_#&PO=V]R:W-H965T")DW:@DH2J1^P[&%1M=7" 7%PDTEBK6,'VVD6?CVVDV:[ M55IQX-)XQO/>S+QZ)FRX>)0%@$)/)64R<@JEJKGKRJ2 $LL1KX#IFXR+$BMM MBMR5E0"<6E!)7=_S9FZ)"7/BT/HV(@YYK2AAL!%(UF6)Q>\E4-Y$SM@Y..Y) M7BCC<..PPCEL03U4&Z$MMV=)20E,$LZ0@"QR%N/Y:F+B;< W HT\.B/3R8[S M1V/=2\[+&'%Z7>2 MJB)R/C@HA0S75-WSY@MT_4P-7\*IM+^H:6.G@8.26BI>=F!=04E8^\5/G0Y' M ,TS#/ [@'\*F)P!!!T@L(VVE=FVUECA.!2\0<)$:S9SL-I8M.Z&,/,O;I70 MMT3C5'S+%&8YV5% "RGUJ[E:@\*$2O05"X&-QM?H'7K8KM'5Z^O053JG0;I) MQ[]L^?TS_ &ZXTP5$GUB*:0O\:ZNM2_8/Q2\]"\2WF$Q0L'X+?(]WQ^H9_7O M\/&%O\#R!6?X;CA/&T(IPBQ%IV)*M"8RH5S6 M"/Q4XJH9_MSR$5VRR3 MX2QFE.>RP@E$CIY5"6(/3OSFU7CF?1R2X#^1O1!DT@LRN<0>+THN%/F#[9#R M#)%G3;#19*CYEG%F&^-YU-0G=_W-5 E&^>P/ZX6O=H%$H0N=T0$B6\ M9JI]9+VW7T(+.WLG_J5>3NTN>:9I-YM^0CEA$E'(-*4W>J]'6[3;HC44K^S M[;C2XVN/A5ZP($R OL\X5P?#).A7=OP74$L#!!0 ( ,. "U6D-+X\= , M ,X+ 9 >&PO=V]R:W-H965TEUTJ\O26E5VY*5.,B++5(\ M9^:<(:F9'+GX)'< "GVN*)-39Z?4_L%U9;&#"LM[O@>FWVRXJ+#20[%UY5X M+BVHHF[@>8E;8<*2AJK#X,@?*CU/'=YXGWI+M3ID) M-Y_L\196H-[M'X4>N2U+22I@DG"&!&RFSLQ_6&9FO5WPGL!1GCPCHV3-^2LN/OT.C)S9\!:?2_J)CL]9S4'&0BE<-6&=0$5;_X\^-#R< MS=,/"!I < F(K@#"!A!> I(K@*@!1-:96HKU88D5SB>"'Y$PJS6;>;!F6K26 M3Y@I^TH)_99HG,I7>A^5!PJ(;] <4\P*0"N[WQ842TDVI,"V0/K]:] &HYF4 MH"3"K$2O"5X32A0!B5XL06%"Y4LT0N]62_3BYY<35^D,31RW:+*9U]D$5[() MT1O.U$ZBWU@)90]^.8SW@P$"5UO3^A,\^S,/!AG?8'&/0O\.!5X0]"2T^':X MWZ=G&+Z$XAK\3$W85CNT?.$5/EM!B3[.UE()?>3^[BM131'U4YAKZ$'N<0%3 M1]\S$L03./DO/_F)]VN?/3^2;/F#R,ZLBUKKHB'V_,\]"'T2V!91>PR$N5!& M?#,ZZ &V9^(.K6%+&-.+^GRM^1/+;V[CISP=1Z&73-RG4\>ZRWPOB^(@/5^W M_/JZ,YUQJS,>U#FKN%#D7WOH^U34Z/@D["C-QG%XH2+N9#=*D\#++D3TL(6^ M/FE^OXBD%9$,BOB+*TP1_VK)[A"P\DJYDDYJJ1=%':&#B=RZP7MBGF^1,S?2 MUHWTIJU+FVO[RQV2.UWMD0)1]5F0=M()XRC*+G?L8/1;+>B)&:5I&O1;,&XM M&'^O!92S[54'QIUL(C\.$N_"@<'@MSK0C1E[<3@.^QW(6@>R;S@2Y^KU=[M/ M=-:]J)(LC2_+/ACO5M'=F/I.\>/X0K1[TNE4(+:V8Y2HX >FZH]Z.]LVI3/; MBUW,S_V'1=U;_D]3=[KZDZTO<:FMVFA*[S[5E1!U]U@/%-_;?FK-E>[.[.-. M-]P@S +]?L.Y>AZ8 &T+G_\'4$L#!!0 ( ,. "U4A.A$&PO=V]R:W-H965T#%DE*2E@RI&H\ASSMUN@;#.R7.M]X(DL5U(/V,FPQ$N8@7PN MIUSU[#9+1G(H!&$%XK 863?N8!SK>!/P@\!&;+61=C)G[$5WOF8CR]% 0"&5 M.@-6CS6,@5*=2&'\:7):;4DMW&Z_9[\SWI67.18P9O0GR>1J9,46RF"!*RJ? MV.8>&C^!SIAM!*2Y8U8$>2DJ)_XM9F'+8';.R+P&H'WKP*_ M$?C&:$UF;$VPQ,F0LPWB.EIETPTS-T:MW)!"?\69Y.HM43J9S-2RR"H*B"W0 M724K#NB1%"2O6H3M'K3J%WV4"4.(61I;:1 +X&*_GTP0V=+UW^_E.R';=^Z]8_ ME3TY,N>WM2HT*KWKUXD7ASU7Q:ZWT0_#_*CO]*,V; >JUT+USD'Y75"U*MBN MUG>">@>EU0P4$UUW?=8!_J;-@.5-A"A2>AOC.)*:)F5Y;- MKNR"# ^JQT[L>N$>Y&%8WU%Q;C=DU$)&)R$?0(@!(GE92<@0*22H=2R[,*.# M^E=^[$?.'F9'6"\*@[ ;,VXQXY.8WTK@6))BVUOBC5D;@DA5 @"R5TKB/EE=>73]V1K#3G]YQ)=1N8 MYDK=U\!U@'J_8$R^=_25T/X#2/X"4$L#!!0 ( ,. "U7<;85L0P( ($% M 9 >&PO=V]R:W-H965T" M39JD+90D4C]8@<2BJM7" 7%PDVD3K6,'VVW*OV?LI*&[9"L.7&+/>-[SO(EG MHEK(!Y4#:'(L&5>QDVM=35Q7I3F45-V("CB>;(4LJ493[EQ52:"9!97,]3UO MY):TX$X26=]2)I'8:U9P6$JB]F5)Y:\9,%''SL Y.5;%+M?&X29117>P!GU? M+25:;L>2%25P50A.)&QC9SJ8S$,3;P.^%E"KLSTQ2C9"/!CC4Q8[GDD(&*3: M,%!<#C 'Q@P1IO&SY72Z*PWP?']BO[7:4H:&+Q5,V2^IF]A@[)!TK[0H6S!F4!:\6>FQK<,9 'GZ 7X+\)\"PF< M00L(K- F,RMK035-(BEJ(DTTLIF-K8U%HYJ"F[^XUA)/"\3IY#-@#12Y6H"F M!5/D"Y62FLI>DS?D?KT@5R^O(U?C32;>35O66JHBG$#K:? GD )WGU8C#RWO?I^T]DC]2&G=KP$GNR JX) M''%PH.@^I0U\9.%F;!P2WWOG#_%''[!LJ20-$>]@(VON?X MG(OO]?0@Y(/: FCRF/-"S:RMUN65;:MX"SE3EZ*$ E=2(7.F<2HWMBHEL*0" MY=QV'2>P/]QFFZTV'^QH M6K(-K$#?ETN),[ME2;(<"I6)@DA(9]8UO9J')KX*^)[!01V-B7&R%N+!3+XD M,\LQ@H!#K T#P]<>YL"Y(4(9OQM.J]W2 (_'S^R?*N_H9%?6;/39Y. +0T0L MMP&X_PKP&H!7&:V55;863+-H*L6!2!.-;&90Y:9"HYNL,']QI26N9HC3T0J/ M1;+C0$1*KN-8[B ADO?D?K4@%Z_? M3FV-6@RC'3?[WM3[NB_L^Y7)2^+1=\1U7+<'/A^&+R!NX?04;F,&VC2X;1K< MBL][@6_)GMB:@ZKL5GE@7)&?UVNE)9ZT7WT&:\91/Z.IOBM5LAAF%I:7 KD' M*WKSB@;.ASZ[_XGLQ+S7FO>&V*,5XTQFC?D#UJXB99V//MLU5U!QF1ZQCVA M)R'^Q/VQH6[8R'7]X&_8B=11*W4T*/5C7G+Q!$#64$":Z4&E-95_),$-)Q-Z M)K0;10/?]?IU^JU.?U#G2":^&T:=P'7"\9EZ^ZCGFOL. M&]HF*Q3AD"+2N0S1OZSOD'JB15FUX;70V-2KX1:O79 F -=3(?3SQ'3V]B*/ M_@!02P,$% @ PX +5;B-"*+! @ ,@< !D !X;"]W;W)K&ULK55=;YLP%/TK%IVJ5MK*-TE:@M0FFS9ITZ)FW1ZF/3AP M2:P:S&R3I/]^MJ&,)C3:PU[ QO<XEWC#^*#8!$^X*68FIMI*RN;5ND M&RBPN&(5E&HE9[S 4DWYVA85!YP94$%MSW$BN\"DM)+8?%OP)&:UI*2$!4>B M+@K,G^Z LMW4!J9G?,JFEJ,% 854:@:L7EN8 :6:2,GXW7):W98: MV!\_LW\PWI67%18P8_0'R>1F:HTME$&.:RKOV>XCM'Y"S9W:=XW@!\=AH^A[2#NR_AMLI$EPZO2X=G^/Q7^!;X":]H:]WD U.! M?MZNA.3JQOT:,M@P!L.,N@JO1853F%JJS 3P+5C)^9D;.3=#=O\3V0OS?F?> M/\6NSJ*L<^6RYL#/S\:>.[H1:(H-,;G-3[#>_5257-D0VI:^!A;UMO%(W"X$#=<9CK^A-]GX;4A9VZ M\'0VB4A5=\(EL/JDRO!H^]!UQGYXH/(X+)CX8\\?5AEU*J/3.6024]5,F\J' M?N4S4_EI6_GT;^4/F8B.3MAU1UXXGARX.(Z;3-Q1$!RXL'L=3?]-5)M8DU(@ M"KD".E=.AF(EEEFMR*2=4RS7"C?FK =8!:SQF3SQ/=-[O?9/('4$L# M!!0 ( ,. "U7M'<6[#@, -D, 9 >&PO=V]R:W-H965TP[G&-_<2W_#^+-8 DCTDB:9&%A+*?-KVQ;1$E(J MKE@.F;HS9SRE4DWYPA8Y!SHK0&EB$\?Q[93&F17VB[4Q#_ML)9,X@S%'8I6F ME+_>0L(V PM;;PL/\6(I]8(=]G.Z@ G(QWS,U MXHX&%!$_8]B(G3'25J:,/>O)W6Q@.5H1)!!)34'590U#2!+-I'3\J4BM^ID: MN#M^8_]2F%=FIE3 D"6_XIE<#JS 0C.8TU4B']CF*U2&/,T7L404OVA3QKJ^ MA:*5D"RMP$I!&F?EE;Y4&[$#P.X> *D Y%A IP(4.V>7R@I;(RIIV.=L@[B. M5FQZ4.Q-@59NXDR_QHGDZFZL<#*E>J0&VE%%?UO2DSWT]Y1?H0Z^0,0AQ ?'H:/(*KAN FW ME=':+:G=DH*OL\_MDG%Y^0-XBD8PE>CIFPI =Q)2\=MDKF1SS6PZPZY%3B,8 M6"J%!/ U6.&G#]AW/INLMD36,-ZIC7<.L8?ZU:*\?+,72!3;(-4VF$R73'[! MI/\%UB'I>-AU^_9ZUXXIS"<]7(9U;JU4J]_RK=9LO3/:13X,93=)#GU%/4$EG#LE];]EM-'[]-XRV1 M-8QW:^/=$TYESN,LBG.:F#QWCSR5IK@#IS*HE09MY4]PI%)3W &EO5IIKZ7\ M.VV)KFM]I-7!;650Q>8WJXOA![]W9-,;A MH+NG"N%MHX /EN/P)HKX"F8HSE3Z@)!(M9R9TF\42_X1X;J>]UZJ*8HX>X1N M"SMNK[+C(TN[,&PO=V]R:W-H965T[Y#%/ MSPH^=W9"["],[QPNW MZ78GU 5W,=N3+=ZA^+R_8?+,;2A)FF/!4UH P\W/ @77)!RRA#>Q"A(FG'X2!@CZH6\A??P M^2Z&-S^^G;E"MJ=4[KIF7U7LX 6V#]>T$#L.OQ0))AWZI5D?&O2N[&?3V>#8 MV:O "+PLMP,(AN\@\ *_ZWG,\FO"!A#Z6AYTR./7RWU#;\+FU86:%[[ N]M1 M)MY_0I9#C"L!7WZ7-\ '@3G_N^ME5;2HFZ;RRP7?DS7.'9E .+('=!8__>"/ MO)^[G+()BRW!6BY&C8N1B;Z08U^F,0&"RASTM4P9 N$^RT(CJ:V$%&VF8 M2L\/BXD716$X>JO'5A+8X-]O;$$:WDS:;R9&+W1PRHMN&"E3F5I M(5"V(D#.X=CE4(6;GCGD#;PG>6=I;+.O/99@+7NFC3U3HSW71)0L%8^0O&"' M65XM&L)W(.?ML'/58-3W=7>/EFBM7TZU0Z^<5']BD#_0PU!QNI0/RZ3 MC1%NM<*P2HMMT=IVGXH,/[(;X58K#:NTV!:M;>6I+O'-ARP16L[=2H\?..*7*V9I3ERX6,,6JOUAE5:;(O6]N]46:U2W+--V1S95F]N MJ@>;GAL5_4$L#!!0 ( ,. M"U4\KH[84 0 !46 9 >&PO=V]R:W-H965TD[.3?[U"2 M9V+8,($BK/^1)27)ES MD5"%0[&PY5( #7.B)+8]Q^G;"66I-1[F<_=B/.29BED*]X+(+$FH>)E S-"SS7[(N]SH6"3*I>%(2 MHP0)2XM_^EP:8H< <9H)O)+ VR?HOD+0*0DZQQ)T2X)N;IE"E=P./E5T/!1\ M383>C6CZ(S=F3HWJLU3[?:8$KC*D4^,'B*F"D-Q3H5[(-T%327./2/+1!T59 M+,G?5 BJW?.)?";?9S[Y^.'3T%;(76/80*^ M%>>DXYX1S_&\!GFFQY.[#>1^.[D/P6OD-6TZE2,Z.5[G M5;PY"(&>F/($DUK2/"VNT?+I C#1% :&BLA-&K(5"S,:GY$OST&8/QK3[[H[9+0% =<*@&*B0)B BG,&:[]_ O9DQL%B?RWR96%K-UF674M MNI)+&L#(PF(C0:S &O_^F]MW_FCR@TDPWQ!8S4?=RD?=-O1QS37PK+]!-IFO M@.GG,+KRKL9>U^TY0WNU:Y?#7;V!TQ_4=_FM(KU1X5ZE<.]7"B>H*E:AX.F, M+*D@*QIGT*1R 3384<8Y=QS'W=.YE=^IL?!+GC6E^Y72_6.4GFFER<];2!Y! M-"9)*\RI26(2S#<$5C/?H#+?X!T5LH%)'YD$\PV!U7QT4?GHHC7$B]AF4F9H MYS 3VO0J K($P7AX1E+LU_+5QNI68/=VJUO/V2]NQVSR6Z5\HPTN*QM?LP!$7G^*M3M,$*QGF"V;M;;SH9W=J<7'*)IO M"JUN:F]K:N\='1*EL*8<91+--X56=]3V5N*V-M1E(1 (=HT)%R0@,;Q]M0H M3@PBM4L:#XL2?S?S+P8'K?!1N_QV6=]JBVWW[[:W_W<81$6Z8_J3;WA>3C@5 MH1[X&'.!XD*V%P1#O7QI,Y-HOBFTNFVW%PVW]YX*@LEKRM0HFF\*K>ZH[>7( M;;\=G= 9] ]R>G YZ.UG_N&N3M\[R'RC-QI[Y[TL ;'(WQTE"7B6JN+]J9JM MWC:O\Q>]O?F)>S4M7BBW,,6#Z2T5"Y9*$L,<(9WS 2HHBC?(8J#X,G^5>^1* M\23_C("&(/0&7)]SKC8#S:!Z"1[_#U!+ P04 " ##@ M5+>FC-I($ !I M' &0 'AL+W=OH@5(D99Y(TM M4;P?>7_JSCQSLF/\3JP!)'K(TEQ,G;64FS/7%?$:,B).V 9R]63)>$:DNN4K M5VPXD*0PRE+7][R1FQ&:.[-)T7;%9Q.VE2G-X8HCL#.)ANR@@7(F\T55W=N34EH!KF@+$<B MZ8M"S,):N4]SO>X+R=53JNSD;,ZRC$JUD%(@DB=HSG))\Q7D,06!CB*0A*8" M?2:<$[U"Q^@]NEE$Z.C7XXDKU00TQHVKP2[*P?P7!L/H4N'7 GW($TAZ[.=F M^\!@[RK':^_])^\O?"/P?+LZ00%^AWS/]_OF8S:_)-QH'KW>'!N\">JU# I> M\ )OL28^*/!;-YSO"$_3UDT*B MCQ(R\5_?\I;C#_K'URGJ3&Q(#%-'Y2 !_!ZY^V-F&1)5A']T&M M^\!$GWU6Z9GF,.)BX]VU)]KN-AD,\ M"NIN'6>'M;-#H[-?-J S0;Y"\*#?,.CUU\@XU-\2-FPYXI^&PW WQR.AQ!$O@7,<*9TLJB_#1_G^]A.P6>&^@&(F'^F\3%EF"=90, M:R7#-TY0H4W=;<(B2[".[N-:][&%F#4R#M5NO!>+X=#SO&<1:VG(CBBGM2BG M1E&N04A.8ZG>L85D\1VZR:G:!!U=+V[$<1WN*WQ1D MV%AWS,K7F JQ5:HFVZ*N5<4"90D26F^!>//."]WY7?6@5^APOP+W!S@(NI$^ M-T_J8 E_1FF%F]H*FXNK,F\T)9;=O&&U*+-*BVS1NKHWY1L^?>N\8;6JLTJ+ M;-&Z?YLW=9UO+%TLYXUJL';>P*.Q=_ILAS W3^I0"6W12@G=UAE,!GQ5G&4) M%+-M+LL#B;JU/B\[+TZ)GK7/\5E4GGHUF/(0[I+P%2/9ICCIN652LJRX7 -)@.L.ZOF2,?ETHP>H3Q=GWP%02P,$% @ PX + M55>*?+72 P MA !D !X;"]W;W)K&ULK5AM M;]LV$/XKA%8,&Y!8HF3Y);,%)&FW%6C:+,'6#T4_T-+))B*1*DG'Z;\?*][(S0EE3C0KUVY%-.-KE5$&MP+)=9X3\?T*,KZ9 M.]C9+MS1Y4J9!3>:%60)]Z#^+6Z%GKD-2D)S8))RA@2D<^<27USCL7$H+?ZC ML)%[8V2D+#A_,)/WR=SQ#"/((%8&@NBO1[B&+#-(FL>W&M1I]C2.^^,M^I^E M>"UF021<\^PS3=1J[DPPX:Q^[@UP[^HLM422:";Y!PEAK-#,H M8U-Z:S64F33>*Z&?4NVGHGM]+I)U!HBGZ"-GY]_6)*,IA03=*QX_H$^%B;9$ MO[T%16@F?T?GQ@[]8[5#7VX@7X#XJJW>(!?)%1$@9Z[23,U^;ERSNJI8^4=8 M!>B&,[62Z!U+(&G[NUIA(]/?RKSR.P%OB!B@ )\AW_-]"Y_KT]UQ!YV@B7I0 MX@5'\#ZEJ02E*%NB2ZE'$GWYH$W0>P6Y_&J+5X4WM..9NWXA"Q+#W-&768)X M!"?Z]1<\\OZPB7TEL);T82-]V(4>?5R; V*.6^N G34G3;]KI"(LT<$Y0PM8 M4L9,G+3#=R#"%IMJP[#/8&(J01T*V@,6ST]Y%3[3?9X!H,0'XBQ&>' +F742!GU2\U?@C!U M> \KLIV(]J.$;$?RY3@MR>-&\KA?]CHD=R+^A.27X[0D3QK)DWY9OH,$(+=K MGCR[.^>3<7AXPWYDU>([;?A.^Z6HB^_4=CVF!W2?&^'!,+2SQ=[N!]7K%]\M M?ROA&K05.\L[[(=F;=)[50#N%^1NTOB4,%NL.N+L[RC[?>-<4*&EN$B!T"43 M.7*/N_%_XB*_ E [!KLR G?^5'>E[<08]"@%[#%X.5 [!KMZ K]F00$L,:8% M",KM$;&4"9XI)PY/M<4N]*?X2#F!=_4$?K6"X@0UUF(B/-1BL_*/W=!=.8%[ MUA/;S$"ED"PR."4SHQ,S8['KRLRN5L ]BX6>>L8GY<9F]2PW[EX'F(-8EHVQ M1#%?,U5U2 9 >&PO=V]R:W-H965TT;7]/%DLLWK.EXA1?P /S;ZIZ*(ZNA)&D.!4M)@2C,)[W/SE7DC&2 M&O%/"ANV]QK)6WDDY$D>W"23GBVO"#*(N41@\6\-,\@R21+7\;.&]IJ<,G#_ M]9;^A[IY<3./F,&,9/^F"5].>L,>2F".RXQ_)9L_H;ZA0/)BDC'U%VVJL0.1 M,2X9)WD=+([SM*C^X^=:B+T QW\EP*T#W%,#O#K .PP(7@GPZP#_U Q!':!N MW:KN70D78HZG8THVB,K1@B9?*/55M- K+>0'Y8%3<385<7SZP$G\M"19 I2] M?S=TG<$G%/TL4_Z"/H3 <9HQ]#>F%$L_/Z+?T;>'$'WX[>/8XB*[9%AQG2FL M,KFO9/+0+2GXDJ&H2"!IQUOBJIM+=[>7?NUJ@7_AXA+9HPODVLZHXWIF^O"[ MF%\B-U#A_:[;T8??8GJ)/$>&NVY'>'1ZN*,1PVM\]!3/>X4WRS!CB,R1,A1] M_R+.HQL..?O1<7'7%G[=T[?_M2ELTE8:!(6 M&8*U'/$;1WP=?7JWDI50>%)RQG&1I,4";53=@@3A-5!1AU$L'@DJBF6),\2! MYEU>:=. %/6Y!(T'P4D>P#/0.&7X,8.W>:!-3S(Z[MVMYBC1LR15DRQ=AILUXLW10R%7":B M^PP7Z/LMY(] ?Z#_T&R9PAR)0A"7ZOS=?)[&0)LA76)K\YXKMDE8:!(6&8*U MS'/LW>+?-KEJK&F&3#%*"XW2(E.TMB][39FC?:PJ.U+&2K%.24HJY\H5T)0D MB"VQR*B:XT0L7?*5:-JQK%X7]:E.X[3ISC;.)"VL:?M5WG5]Q_,.RI>IK&U+ MW)TE[O^T1/R**3F62TLUJV@-T28[VQ"3M+"F[1OB^'9PN*PQE;3MQZ[?=;3- MVUDSSYTP2CPCPK%39AY]XK.],=H=&Z5%IFAM"W<-LN,;G7V,-L)&::%16F2* MUO9EUS0[^M[/^.QCM'LV2@MK6JO8]8?VR#ZL=H:RMBW9]=".OHDV//L8[:F- MTL*:UC+$#ORCU8"AI&T_=LVWH^^^9R3/2;$M7+OYYA8_IWF9Z^<7HVVY45IH ME!:9HK5-VC7ZSM#H_&*TOS=*"XW2(E.TMB^[[PP<_9<&E1T45B6-EVHF:56T MB]>_T*K!_59Q4#_M\C [=6"HO]2SA37:SEM[VWHYT(7:3V5BVBT+7FV3->\V M>[:?U4[EP?NAW,M5VX4[3+41?(OI(BT8RF ND/;E0-1=6NVM5@>&ULK5??;^,V#'[/7T%X MQ7 '>+'C_&R7!+BVMZW#.A3-;GLXW(-B,[%06W(E.6G^^U&RXZ9=ZK6'YL&1 M)?(C/XJBZ.E6JCN=(AIXR#.A9UYJ3'$6!#I.,6>Z*PL4M+*2*F>&7M4ZT(5" MECBE/ NB,!P%.>/"FT_=W(V:3V5I,B[P1H$N\YRIW3EFMY^XI:O4V,G M@OFT8&MV<7$RCN!OSEN]<$8+).EE'?V MY2J9>:%U"#.,C45@]+?!"\PR"T1NW->87F/2*AZ.]^B_..[$9Q*4V,J^5R8.(U" M5"M$SQ1Z_1<4^K5"WQ&M/'.T+IEA\ZF26U!6FM#LP,7&:1,;+NPN+HRB54YZ M9KXHEQKO2Q0&/F_HJ>'#)1K&,PU_,J68#?)'^ F>R\'7:\R7J+[1VK7J_DIB M0A].?EE3C]/ D)?65A#7'IU7'D4O>/2I7'>AW_,A"J/HB/I%N_HUVT$8 M'=,.*#1-?*(F/I&#Z[\R/O#U#Y* *X.Y_G:,7 4W. YGS^29+EB,,X\.G4:U M06_^XP^]4?CS,:KO!/:$>;]AWF]#GR]8QA1'#5LZS1J82$"N5CQ&I2&6.941 MS>Q)/!:$5N2W!J$"&SDP6Y0V\^AT9SILF Y; MF49A;PR?[TMN=G E8DIB.JQPDS'1G-=CQ%I!WTKLG<">\!\U_$?O>X1'[\G\ MG<">,!\WS,??F^-50M,]K(WBL:%U;87;,GW\G^2,)O0[;;*S(MSJTG<2GC2$ M)ZV$;Y_1@5)PNM(V-$WZ,U81MGMR!<)*B5\$OG# MT'G5!6JF@#D[J.4"F!-GA O AMJ&Q+!H5(BK)IFI"L^59YKSNPE7E-O4W M/"_SSH&G%F+LXF A^",='PR*/19=5K+,DAIMP7-.=UBV\U^Y8_T7=ZQSF$ZO MBC*#I]X_!J^_I^$3=9,ZB$(:6Y=9!D;:A$!@2<)MGMJIFES'&2T+*\/V07*1 M.7V,C#BPVX6_4MZD/]A^3JPQM[D3TU9S4=J([7WXG^ ,*G<[;H.X<+8/*)J4 MHI5*"OX2K3&B^;CAR>&V'FK5LKW>GD#W6 UM/9=O+2G!0;-L/U2NF:)SK6EW M5@0?=L=4X535_%K,FQT# !J$0 #0 'AL+W-T>6QE7A_83!YR2.$C:?P;I6<=>*+-# M,?KT>?1/D6/4%_O4;OFQ)?*.Q\XM;C(['A9*;A.<$&^PO+1DT3T5(S*A@D\U M!Z^"EERLO;D'AID22D?&5M8&ZH*E?O!PU\^@Z U/R:72+K:/X/].F^4'P&8& M KD0K< >\8;QL*+&,"VO[,0M=L9'4-2,;]>553C7=-WM]CJAA 8U1I!SFGQQ[TJ M=BK6@7K)=F@%-4-/XR? O\OFN7=I.R_BC2I^K\SGI=V.='/H,7:M6<%7;KXJ M6@$8>Q=GIU4EUI\$G\N2^2W7^50\%!C;CO; X_]-^ M!NA^/(9I&P21 >HS0'V\5PB9N \6)^R3V2N\TRQ+DC3%,CJ9!!5,L+RE*7S# M;)@V\,#B0*0_RS5>;;Q#GNX#K*9/=0BV4[P3L9WBN08DG#?PR+)PM;$XX(%5 M >L=B!^. ST5]DD2J"JF#7N"<23+, 1Z,=RC:8ID)X5/N#[84Y(D619& LK M2!(,@:<11S %H %#DL2=@P?G4;PYI^+MKROCWU!+ P04 " ##@ M5EXJ[ M', 3 @ "P %]R96QS+RYR96QSG9*Y;L,P#$!_Q=">, ?0(8@S9?$6 M!/D!5J(/V!(%BD6=OZ_:I7&0"QEY/3P2W!YI0.TXI+:+J1C]$%)I6M6X 4BV M)8]ISI%"KM0L'C6'TD!$VV-#L%HL/D N&6:WO606IW.D5XA-/E_G;@2=&A(E@6FD7)TZ(= MI7\=Q_:0T^FO8R*T>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( M ,. "U77OFP!)@0 #T? / >&PO=V]R:V)O;VLN>&ULQ9G?4]LX$(#_ M%8V?Z,-=XA_0EFDZPR5PQTP+&4+[VE%L)=$@2T&20^&OOY7='&MP=^Y%X2FQ M+-N?U_)^*_G3@[%W2V/NV,]::3=)-MYO3T.4V0OA:C;+Q^&14&@V-H>&[% _N>7_89#OI MY%(JZ1\G2?M?B8354LM:/HEJDHP3YC;FX1]CY9/1GJM%:8U2DR3M=GP7ULOR M5?,B0-[RI6M;/%_>< "9)"=C..%*6N?;'NWY.3#N!'3NMAIO+J3RPLZX%W]; MTVRE7H?3P%V,T&VT<=C_=D$\M?\GC&:UDJ68F;*IA?9='*U0 5"[C=RZA&E> MBTDR-3MAP_W !2ZK[MX\0*%(V5,).^QEU>+%0_F+*ZY+P=JH.<24$4S9(9G8 MT9Q;.& CVO'P#C'F!&,>EW$1KAOZ.&96['HK;->''7W3O*D09$% %H>$G&ZX M7@O'I&8+;\J[#8(\)B"/#PK)W89=*/,P$,D3 O(D+N2U77,MG]H=C.N*+>1: M2SB8:\_.2@3YGH!\'Q?R4N^@@[&/".<#@?,A+@YH EX+_]C&Z_R^D=MP &+[ M2+!]C!TJ#R]#N"8[-Q7*XO@CN!TW!*NB&R',[*TC8"'MY/.,D+ M+LH/:61!7$']P>;\D;>7?6:B?)!&%L)-:(18@:Q@R-]:KAUO:Z1>U"@9I)%M M,#5U+7V7:<,K.86R"RH@H4O9?[24#-+H-@AF,JH2UOUHLX;'Z2RE')!&EL"B M63IQWT G=AXR;2]H5-Y/(R=^TDX_,HQ)^2"-+ 0:,\>8E!K2Z&[XI5%V=!LR MC,,E9T;9(8MLAV&C#F)2VL@B:^.E7 2]4;FSEE MESRR75ZCL2MNP[K&3O0@*;?DD=V"8SF@0XQ)&2:/;)C?F?I78#$FN8@5>Q6K M-S)?6GN&,2GOY)&],X"&!RC&I R4QS80BF9O#9--%7>]ATXY*#^@@RX:WT!" M_QK6Y9N:A<((8U(.RB,[:%^DT;F(TD\>63\XD/O:#2;9H7@+G3$FI9_\@/IY M56)RC9>J*?T4D?6#,4.AZ9XKS3 $,"8EH"*R@/HU\*O!B3$I 161!?3[Y:@6 M&F-2 BHB"XA&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-V3MNPD 4A>&M("\@PWU M0A12I:&-V( %PT,!;'DF"NP^" HX5HHT:$YES5B^_JM/UOCM,^[JO&T.:;-M MT^"XWQW2M-KDW+Z&D!:;N*_34]/&P_G.JNGV=3XONW5HZ\57O8Y!A\-QZ.YG M5.]O]S,'\U,;_S.Q6:VVB_C1++[W\9#_&!Q^FNXK;6+,U6!>=^N8IU4X[F[; M*5PN\G2>7 UFRVG5S992A=)!"D%:/L@@R,H'.01Y^: 1!(W*!XTA:%P^Z!F" MGLL'O4#02_F@"01-R@?)$&4<$B3UL";06I!K(?!:$&PA$%N0;"$P6Q!M(5!; MD&TA<%L0;B&06Y!N(;!;$&\AT%M1;R706U%O)=!;>Q_;!'HKZJT$>BOJK01Z M*^JM!'HKZJT$>BOJK01Z*^JM!'HKZJT$>AOJ;01Z&^IM!'H;ZFT$>EOOL(1 M;T.]C4!O0[V-0&]#O8U ;T.]C4!O0[V-0&]#O8U ;T>]G4!O1[V=0&]'O9U M;T>]G4!O[QUV$^CMJ+<3Z.VHMQ/H[:BW/U+OE$^[F&X]US6^_Y%4Y_.S\?;Z MR_*ZV6/G@G. GXCOOU!+ P04 " ##@ M59>&9M;UW7VSI;#)^VUKRO4U=-7Z2%"'8!\9\5E"M M?6HL-7%D;ERM0WQT"V9UMM0+8F(X'+',-(&:, AMC60Z?J*Y7E6A][R)KWUI MFDGBJ/))[W$WL3?4@;[A#2N[.;XHK2^'RC3S>9E1;K)5'9>DWCK2N2^( M0EVENZ+]\\DA[C#MKOSJ_*[,N< X<^:,]?'$'%T>=SB2=O7 QD+D0GG^$X^) ML?35WT?M:>>4_S([;N^'<JM;'>\ M K @ $0 @ &O 9&]C4')O<',O8V]R92YX;6Q02P$" M% ,4 " ##@ M5F5R<(Q & "<)P $P @ '- 0 >&PO M=&AE;64O=&AE;64Q+GAM;%!+ 0(4 Q0 ( ,. "U7G)T27A 8 &\E 8 M " @0X( !X;"]W;W)K&PO M=V]R:W-H965T&UL4$L! A0#% @ PX +56)\>S56 P M'Q !@ ("!G18 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ PX +5367_)WC!P S2H !@ M ("!X20 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ PX +5:C:UBI[ P EP< !@ ("!:D@ 'AL+W=OFV0# M "V!P &0 @(%]4P >&PO=V]R:W-H965T&UL4$L! A0#% @ PX + M53M3?6=; @ K@4 !D ("!>UH 'AL+W=O&UL4$L! A0#% @ PX +5;+ CL6>!0 M0P M !D ("!%&8 'AL+W=O&PO=V]R:W-H965T% !X;"]W;W)K&UL4$L! A0#% @ PX +56)XYRR. @ C 4 !D M ("![8H 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ PX +50J-,HWW P :PP !D ("!690 'AL+W=O M&PO=V]R:W-H965T&UL4$L! A0#% @ PX +59&PO=V]R:W-H965T&UL4$L! A0#% @ PX +50"!$.BF!P Z3D !D M ("!V*H 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ PX +5&PO=V]R:W-H965T&UL4$L! A0#% M @ PX +583UQN9C @ O@4 !D ("!Y<( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ PX +5=QMA6Q# M @ @04 !D ("!*LP 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ PX +5>T=Q;L. P V0P !D M ("!K]0 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ PX +52WIHS:2! :1P !D ("!Z> M 'AL+W=O&PO=V]R:W-H965T 9 M " @;OI !X;"]W;W)K&UL4$L! A0#% @ MPX +5<.QA$-O! C0T !D ("!^NX 'AL+W=O&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'-02P$"% ,4 M " ##@ M59>&9M; XML 60 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 61 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 62 FilingSummary.xml IDEA: XBRL DOCUMENT 3.22.2 html 122 214 1 false 60 0 false 4 false false R1.htm 00000001 - Document - Cover Sheet http://virtra.com/role/Cover Cover Cover 1 false false R2.htm 00000002 - Statement - Balance Sheets Sheet http://virtra.com/role/BalanceSheets Balance Sheets Statements 2 false false R3.htm 00000003 - Statement - Balance Sheets (Parenthetical) Sheet http://virtra.com/role/BalanceSheetsParenthetical Balance Sheets (Parenthetical) Statements 3 false false R4.htm 00000004 - Statement - Statements of Operations (Unaudited) Sheet http://virtra.com/role/StatementsOfOperations Statements of Operations (Unaudited) Statements 4 false false R5.htm 00000005 - Statement - Statements of Changes in Stockholders' Equity (Unaudited) Sheet http://virtra.com/role/StatementsOfChangesInStockholdersEquity Statements of Changes in Stockholders' Equity (Unaudited) Statements 5 false false R6.htm 00000006 - Statement - Statements of Cash Flows (Unaudited) Sheet http://virtra.com/role/StatementsOfCashFlows Statements of Cash Flows (Unaudited) Statements 6 false false R7.htm 00000007 - Disclosure - Organization and Significant Accounting Policies Sheet http://virtra.com/role/OrganizationAndSignificantAccountingPolicies Organization and Significant Accounting Policies Notes 7 false false R8.htm 00000008 - Disclosure - Inventory Sheet http://virtra.com/role/Inventory Inventory Notes 8 false false R9.htm 00000009 - Disclosure - Property and Equipment Sheet http://virtra.com/role/PropertyAndEquipment Property and Equipment Notes 9 false false R10.htm 00000010 - Disclosure - Intangible Asset Sheet http://virtra.com/role/IntangibleAsset Intangible Asset Notes 10 false false R11.htm 00000011 - Disclosure - Leases Sheet http://virtra.com/role/Leases Leases Notes 11 false false R12.htm 00000012 - Disclosure - Accrued Expenses Sheet http://virtra.com/role/AccruedExpenses Accrued Expenses Notes 12 false false R13.htm 00000013 - Disclosure - Note Payable Sheet http://virtra.com/role/NotePayable Note Payable Notes 13 false false R14.htm 00000014 - Disclosure - Related Party Transactions Sheet http://virtra.com/role/RelatedPartyTransactions Related Party Transactions Notes 14 false false R15.htm 00000015 - Disclosure - Commitments and Contingencies Sheet http://virtra.com/role/CommitmentsAndContingencies Commitments and Contingencies Notes 15 false false R16.htm 00000016 - Disclosure - Stockholders??? Equity Sheet http://virtra.com/role/StockholdersEquity Stockholders??? Equity Notes 16 false false R17.htm 00000017 - Disclosure - Subsequent Events Sheet http://virtra.com/role/SubsequentEvents Subsequent Events Notes 17 false false R18.htm 00000018 - Disclosure - Organization and Significant Accounting Policies (Policies) Sheet http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies Organization and Significant Accounting Policies (Policies) Policies http://virtra.com/role/OrganizationAndSignificantAccountingPolicies 18 false false R19.htm 00000019 - Disclosure - Organization and Significant Accounting Policies (Tables) Sheet http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables Organization and Significant Accounting Policies (Tables) Tables http://virtra.com/role/OrganizationAndSignificantAccountingPolicies 19 false false R20.htm 00000020 - Disclosure - Inventory (Tables) Sheet http://virtra.com/role/InventoryTables Inventory (Tables) Tables http://virtra.com/role/Inventory 20 false false R21.htm 00000021 - Disclosure - Property and Equipment (Tables) Sheet http://virtra.com/role/PropertyAndEquipmentTables Property and Equipment (Tables) Tables http://virtra.com/role/PropertyAndEquipment 21 false false R22.htm 00000022 - Disclosure - Intangible Asset (Tables) Sheet http://virtra.com/role/IntangibleAssetTables Intangible Asset (Tables) Tables http://virtra.com/role/IntangibleAsset 22 false false R23.htm 00000023 - Disclosure - Leases (Tables) Sheet http://virtra.com/role/LeasesTables Leases (Tables) Tables http://virtra.com/role/Leases 23 false false R24.htm 00000024 - Disclosure - Accrued Expenses (Tables) Sheet http://virtra.com/role/AccruedExpensesTables Accrued Expenses (Tables) Tables http://virtra.com/role/AccruedExpenses 24 false false R25.htm 00000025 - Disclosure - Note Payable (Tables) Sheet http://virtra.com/role/NotePayableTables Note Payable (Tables) Tables http://virtra.com/role/NotePayable 25 false false R26.htm 00000026 - Disclosure - Stockholders??? Equity (Tables) Sheet http://virtra.com/role/StockholdersEquityTables Stockholders??? Equity (Tables) Tables http://virtra.com/role/StockholdersEquity 26 false false R27.htm 00000027 - Disclosure - Schedule of Disaggregation of Revenues (Details) Sheet http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails Schedule of Disaggregation of Revenues (Details) Details 27 false false R28.htm 00000028 - Disclosure - Schedule of Earnings Per Share (Details) Sheet http://virtra.com/role/ScheduleOfEarningsPerShareDetails Schedule of Earnings Per Share (Details) Details 28 false false R29.htm 00000029 - Disclosure - Organization and Significant Accounting Policies (Details Narrative) Sheet http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative Organization and Significant Accounting Policies (Details Narrative) Details http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables 29 false false R30.htm 00000030 - Disclosure - Schedule of Inventory (Details) Sheet http://virtra.com/role/ScheduleOfInventoryDetails Schedule of Inventory (Details) Details 30 false false R31.htm 00000031 - Disclosure - Inventory (Details Narrative) Sheet http://virtra.com/role/InventoryDetailsNarrative Inventory (Details Narrative) Details http://virtra.com/role/InventoryTables 31 false false R32.htm 00000032 - Disclosure - Schedule of Property and Equipment (Details) Sheet http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails Schedule of Property and Equipment (Details) Details 32 false false R33.htm 00000033 - Disclosure - Property and Equipment (Details Narrative) Sheet http://virtra.com/role/PropertyAndEquipmentDetailsNarrative Property and Equipment (Details Narrative) Details http://virtra.com/role/PropertyAndEquipmentTables 33 false false R34.htm 00000034 - Disclosure - Schedule of Intangible Asset (Details) Sheet http://virtra.com/role/ScheduleOfIntangibleAssetDetails Schedule of Intangible Asset (Details) Details 34 false false R35.htm 00000035 - Disclosure - Intangible Asset (Details Narrative) Sheet http://virtra.com/role/IntangibleAssetDetailsNarrative Intangible Asset (Details Narrative) Details http://virtra.com/role/IntangibleAssetTables 35 false false R36.htm 00000036 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details) Sheet http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details) Details 36 false false R37.htm 00000037 - Disclosure - Schedule of Future Minimum Lease Payments (Details) Sheet http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails Schedule of Future Minimum Lease Payments (Details) Details 37 false false R38.htm 00000038 - Disclosure - Leases (Details Narrative) Sheet http://virtra.com/role/LeasesDetailsNarrative Leases (Details Narrative) Details http://virtra.com/role/LeasesTables 38 false false R39.htm 00000039 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details) Sheet http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails Schedule of Accrued Compensation and Related Costs (Details) Details 39 false false R40.htm 00000040 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details) Sheet http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails Schedule of Accrued Expenses and Other Current Liabilities (Details) Details 40 false false R41.htm 00000041 - Disclosure - Schedule of Notes Payable (Details) Notes http://virtra.com/role/ScheduleOfNotesPayableDetails Schedule of Notes Payable (Details) Details 41 false false R42.htm 00000042 - Disclosure - Note Payable (Details Narrative) Sheet http://virtra.com/role/NotePayableDetailsNarrative Note Payable (Details Narrative) Details http://virtra.com/role/NotePayableTables 42 false false R43.htm 00000043 - Disclosure - Related Party Transactions (Details Narrative) Sheet http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative Related Party Transactions (Details Narrative) Details http://virtra.com/role/RelatedPartyTransactions 43 false false R44.htm 00000044 - Disclosure - Commitments and Contingencies (Details Narrative) Sheet http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative Commitments and Contingencies (Details Narrative) Details http://virtra.com/role/CommitmentsAndContingencies 44 false false R45.htm 00000045 - Disclosure - Schedule of Non-qualified Stock Options (Details) Sheet http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails Schedule of Non-qualified Stock Options (Details) Details 45 false false R46.htm 00000046 - Disclosure - Stockholders??? Equity (Details Narrative) Sheet http://virtra.com/role/StockholdersEquityDetailsNarrative Stockholders??? Equity (Details Narrative) Details http://virtra.com/role/StockholdersEquityTables 46 false false R47.htm 00000047 - Disclosure - Subsequent Events (Details Narrative) Sheet http://virtra.com/role/SubsequentEventsDetailsNarrative Subsequent Events (Details Narrative) Details http://virtra.com/role/SubsequentEvents 47 false false All Reports Book All Reports form10-q.htm ex31-1.htm ex31-2.htm ex31-3.htm ex32-1.htm vtsi-20220331.xsd vtsi-20220331_cal.xml vtsi-20220331_def.xml vtsi-20220331_lab.xml vtsi-20220331_pre.xml http://fasb.org/us-gaap/2022 http://xbrl.sec.gov/dei/2022 true true JSON 64 MetaLinks.json IDEA: XBRL DOCUMENT { "instance": { "form10-q.htm": { "axisCustom": 0, "axisStandard": 26, "contextCount": 122, "dts": { "calculationLink": { "local": [ "vtsi-20220331_cal.xml" ] }, "definitionLink": { "local": [ "vtsi-20220331_def.xml" ] }, "inline": { "local": [ "form10-q.htm" ] }, "labelLink": { "local": [ "vtsi-20220331_lab.xml" ] }, "presentationLink": { "local": [ "vtsi-20220331_pre.xml" ] }, "schema": { "local": [ "vtsi-20220331.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-roles-2022.xsd", "https://xbrl.fasb.org/srt/2022/elts/srt-types-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd", "https://xbrl.fasb.org/us-gaap/2022/elts/us-types-2022.xsd", "https://xbrl.sec.gov/country/2022/country-2022.xsd", "https://xbrl.sec.gov/dei/2022/dei-2022.xsd" ] } }, "elementCount": 409, "entityCount": 1, "hidden": { "http://fasb.org/us-gaap/2022": 51, "http://virtra.com/20220331": 13, "http://xbrl.sec.gov/dei/2022": 4, "total": 68 }, "keyCustom": 14, "keyStandard": 200, "memberCustom": 32, "memberStandard": 26, "nsprefix": "VTSI", "nsuri": "http://virtra.com/20220331", "report": { "R1": { "firstAnchor": { "ancestors": [ "span", "b", "span", "p", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "document", "isDefault": "true", "longName": "00000001 - Document - Cover", "role": "http://virtra.com/role/Cover", "shortName": "Cover", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "span", "b", "span", "p", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "dei:DocumentType", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R10": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000010 - Disclosure - Intangible Asset", "role": "http://virtra.com/role/IntangibleAsset", "shortName": "Intangible Asset", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:IntangibleAssetsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R11": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000011 - Disclosure - Leases", "role": "http://virtra.com/role/Leases", "shortName": "Leases", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:LeasesOfLesseeDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R12": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000012 - Disclosure - Accrued Expenses", "role": "http://virtra.com/role/AccruedExpenses", "shortName": "Accrued Expenses", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R13": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000013 - Disclosure - Note Payable", "role": "http://virtra.com/role/NotePayable", "shortName": "Note Payable", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DebtDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R14": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000014 - Disclosure - Related Party Transactions", "role": "http://virtra.com/role/RelatedPartyTransactions", "shortName": "Related Party Transactions", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R15": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000015 - Disclosure - Commitments and Contingencies", "role": "http://virtra.com/role/CommitmentsAndContingencies", "shortName": "Commitments and Contingencies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R16": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000016 - Disclosure - Stockholders\u2019 Equity", "role": "http://virtra.com/role/StockholdersEquity", "shortName": "Stockholders\u2019 Equity", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R17": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000017 - Disclosure - Subsequent Events", "role": "http://virtra.com/role/SubsequentEvents", "shortName": "Subsequent Events", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SubsequentEventsTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R18": { "firstAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "VTSI:OrganizationAndBusinessOperationsPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000018 - Disclosure - Organization and Significant Accounting Policies (Policies)", "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies", "shortName": "Organization and Significant Accounting Policies (Policies)", "subGroupType": "policies", "uniqueAnchor": { "ancestors": [ "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "VTSI:OrganizationAndBusinessOperationsPolicyTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R19": { "firstAnchor": { "ancestors": [ "VTSI:DisaggregationOfRevenuePolicyTextBlock", "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000019 - Disclosure - Organization and Significant Accounting Policies (Tables)", "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables", "shortName": "Organization and Significant Accounting Policies (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "VTSI:DisaggregationOfRevenuePolicyTextBlock", "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:DisaggregationOfRevenueTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R2": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000002 - Statement - Balance Sheets", "role": "http://virtra.com/role/BalanceSheets", "shortName": "Balance Sheets", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R20": { "firstAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000020 - Disclosure - Inventory (Tables)", "role": "http://virtra.com/role/InventoryTables", "shortName": "Inventory (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R21": { "firstAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000021 - Disclosure - Property and Equipment (Tables)", "role": "http://virtra.com/role/PropertyAndEquipmentTables", "shortName": "Property and Equipment (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R22": { "firstAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000022 - Disclosure - Intangible Asset (Tables)", "role": "http://virtra.com/role/IntangibleAssetTables", "shortName": "Intangible Asset (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R23": { "firstAnchor": { "ancestors": [ "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "VTSI:ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000023 - Disclosure - Leases (Tables)", "role": "http://virtra.com/role/LeasesTables", "shortName": "Leases (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "VTSI:ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R24": { "firstAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000024 - Disclosure - Accrued Expenses (Tables)", "role": "http://virtra.com/role/AccruedExpensesTables", "shortName": "Accrued Expenses (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R25": { "firstAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000025 - Disclosure - Note Payable (Tables)", "role": "http://virtra.com/role/NotePayableTables", "shortName": "Note Payable (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfDebtTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R26": { "firstAnchor": { "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000026 - Disclosure - Stockholders\u2019 Equity (Tables)", "role": "http://virtra.com/role/StockholdersEquityTables", "shortName": "Stockholders\u2019 Equity (Tables)", "subGroupType": "tables", "uniqueAnchor": { "ancestors": [ "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R27": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "VTSI:DisaggregationOfRevenuePolicyTextBlock", "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "VTSI:SimulatorsandAccessoriesRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000027 - Disclosure - Schedule of Disaggregation of Revenues (Details)", "role": "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails", "shortName": "Schedule of Disaggregation of Revenues (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:DisaggregationOfRevenueTableTextBlock", "VTSI:DisaggregationOfRevenuePolicyTextBlock", "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "VTSI:SimulatorsandAccessoriesRevenue", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R28": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000028 - Disclosure - Schedule of Earnings Per Share (Details)", "role": "http://virtra.com/role/ScheduleOfEarningsPerShareDetails", "shortName": "Schedule of Earnings Per Share (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "us-gaap:EarningsPerSharePolicyTextBlock", "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "INF", "lang": null, "name": "us-gaap:IncrementalCommonSharesAttributableToCallOptionsAndWarrants", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R29": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000029 - Disclosure - Organization and Significant Accounting Policies (Details Narrative)", "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative", "shortName": "Organization and Significant Accounting Policies (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:StandardProductWarrantyPolicy", "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "lang": null, "name": "us-gaap:ContractWithCustomerLiabilityRevenueRecognized", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R3": { "firstAnchor": { "ancestors": [ "span", "span", "p", "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "USDPShares", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000003 - Statement - Balance Sheets (Parenthetical)", "role": "http://virtra.com/role/BalanceSheetsParenthetical", "shortName": "Balance Sheets (Parenthetical)", "subGroupType": "parenthetical", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:PreferredStockParOrStatedValuePerShare", "reportCount": 1, "unique": true, "unitRef": "USDPShares", "xsiNil": "false" } }, "R30": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryWorkInProcessAndRawMaterials", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000030 - Disclosure - Schedule of Inventory (Details)", "role": "http://virtra.com/role/ScheduleOfInventoryDetails", "shortName": "Schedule of Inventory (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfInventoryCurrentTableTextBlock", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:InventoryWorkInProcessAndRawMaterials", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R31": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OtherAssetsNoncurrent", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000031 - Disclosure - Inventory (Details Narrative)", "role": "http://virtra.com/role/InventoryDetailsNarrative", "shortName": "Inventory (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:InventoryDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31_custom_SparePartsMember", "decimals": "0", "lang": null, "name": "us-gaap:OtherAssetsNoncurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R32": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000032 - Disclosure - Schedule of Property and Equipment (Details)", "role": "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails", "shortName": "Schedule of Property and Equipment (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PropertyPlantAndEquipmentGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R33": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000033 - Disclosure - Property and Equipment (Details Narrative)", "role": "http://virtra.com/role/PropertyAndEquipmentDetailsNarrative", "shortName": "Property and Equipment (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:Depreciation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R34": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000034 - Disclosure - Schedule of Intangible Asset (Details)", "role": "http://virtra.com/role/ScheduleOfIntangibleAssetDetails", "shortName": "Schedule of Intangible Asset (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R35": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000035 - Disclosure - Intangible Asset (Details Narrative)", "role": "http://virtra.com/role/IntangibleAssetDetailsNarrative", "shortName": "Intangible Asset (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:IntangibleAssetsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AmortizationOfIntangibleAssets", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R36": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2021-12-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:OperatingLeaseRightOfUseAsset", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000036 - Disclosure - Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)", "role": "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails", "shortName": "Schedule of Balance Sheet Classification of Lease Assets and Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": null }, "R37": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000037 - Disclosure - Schedule of Future Minimum Lease Payments (Details)", "role": "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails", "shortName": "Schedule of Future Minimum Lease Payments (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R38": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PaymentsForRent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000038 - Disclosure - Leases (Details Narrative)", "role": "http://virtra.com/role/LeasesDetailsNarrative", "shortName": "Leases (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:LeasesOfLesseeDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PaymentsForRent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R39": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccruedSalariesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000039 - Disclosure - Schedule of Accrued Compensation and Related Costs (Details)", "role": "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails", "shortName": "Schedule of Accrued Compensation and Related Costs (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AccruedSalariesCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R4": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000004 - Statement - Statements of Operations (Unaudited)", "role": "http://virtra.com/role/StatementsOfOperations", "shortName": "Statements of Operations (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "lang": null, "name": "us-gaap:CostOfGoodsAndServicesSold", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R40": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000040 - Disclosure - Schedule of Accrued Expenses and Other Current Liabilities (Details)", "role": "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails", "shortName": "Schedule of Accrued Expenses and Other Current Liabilities (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:ProductWarrantyAccrualClassifiedCurrent", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R41": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NotesPayableCurrent", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000041 - Disclosure - Schedule of Notes Payable (Details)", "role": "http://virtra.com/role/ScheduleOfNotesPayableDetails", "shortName": "Schedule of Notes Payable (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfDebtTableTextBlock", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2022-03-31_custom_NotesPayableMember208191875", "decimals": "0", "lang": null, "name": "us-gaap:DebtInstrumentFaceAmount", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R42": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:PaymentsToAcquirePropertyPlantAndEquipment", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000042 - Disclosure - Note Payable (Details Narrative)", "role": "http://virtra.com/role/NotePayableDetailsNarrative", "shortName": "Note Payable (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:DebtDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2021-08-012021-08-25_custom_ArizonaBankAndTrustMember", "decimals": "0", "lang": null, "name": "us-gaap:ProceedsFromLoans", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R43": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000043 - Disclosure - Related Party Transactions (Details Narrative)", "role": "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative", "shortName": "Related Party Transactions (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:RelatedPartyTransactionsDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:AllocatedShareBasedCompensationExpense", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R44": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000044 - Disclosure - Commitments and Contingencies (Details Narrative)", "role": "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "shortName": "Commitments and Contingencies (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-012022-03-31_us-gaap_DeferredProfitSharingMember", "decimals": "0", "lang": null, "name": "us-gaap:OperatingExpenses", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R45": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2021-12-31_custom_NonQualifiedStockOptionMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000045 - Disclosure - Schedule of Non-qualified Stock Options (Details)", "role": "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails", "shortName": "Schedule of Non-qualified Stock Options (Details)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2021-12-31_custom_NonQualifiedStockOptionMember", "decimals": "INF", "first": true, "lang": null, "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "reportCount": 1, "unique": true, "unitRef": "Shares", "xsiNil": "false" } }, "R46": { "firstAnchor": { "ancestors": [ "span", "span", "span", "span", "span", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000046 - Disclosure - Stockholders\u2019 Equity (Details Narrative)", "role": "http://virtra.com/role/StockholdersEquityDetailsNarrative", "shortName": "Stockholders\u2019 Equity (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "span", "span", "span", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R47": { "firstAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:SubsequentEventsTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-05-012022-05-02_us-gaap_SubsequentEventMember_custom_Mr.GivensMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:SalariesWagesAndOfficersCompensation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000047 - Disclosure - Subsequent Events (Details Narrative)", "role": "http://virtra.com/role/SubsequentEventsDetailsNarrative", "shortName": "Subsequent Events (Details Narrative)", "subGroupType": "details", "uniqueAnchor": { "ancestors": [ "span", "span", "p", "us-gaap:SubsequentEventsTextBlock", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-05-012022-05-02_us-gaap_SubsequentEventMember_custom_Mr.GivensMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:SalariesWagesAndOfficersCompensation", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R5": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2020-12-31_us-gaap_CommonStockMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000005 - Statement - Statements of Changes in Stockholders' Equity (Unaudited)", "role": "http://virtra.com/role/StatementsOfChangesInStockholdersEquity", "shortName": "Statements of Changes in Stockholders' Equity (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "AsOf2020-12-31_us-gaap_CommonStockMember", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:StockholdersEquity", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R6": { "firstAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "first": true, "lang": null, "name": "us-gaap:NetIncomeLoss", "reportCount": 1, "unitRef": "USD", "xsiNil": "false" }, "groupType": "statement", "isDefault": "false", "longName": "00000006 - Statement - Statements of Cash Flows (Unaudited)", "role": "http://virtra.com/role/StatementsOfCashFlows", "shortName": "Statements of Cash Flows (Unaudited)", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "td", "tr", "table", "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": "0", "lang": null, "name": "us-gaap:DepreciationDepletionAndAmortization", "reportCount": 1, "unique": true, "unitRef": "USD", "xsiNil": "false" } }, "R7": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000007 - Disclosure - Organization and Significant Accounting Policies", "role": "http://virtra.com/role/OrganizationAndSignificantAccountingPolicies", "shortName": "Organization and Significant Accounting Policies", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R8": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000008 - Disclosure - Inventory", "role": "http://virtra.com/role/Inventory", "shortName": "Inventory", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:InventoryDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } }, "R9": { "firstAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" }, "groupType": "disclosure", "isDefault": "false", "longName": "00000009 - Disclosure - Property and Equipment", "role": "http://virtra.com/role/PropertyAndEquipment", "shortName": "Property and Equipment", "subGroupType": "", "uniqueAnchor": { "ancestors": [ "body", "html" ], "baseRef": "form10-q.htm", "contextRef": "From2022-01-01to2022-03-31", "decimals": null, "first": true, "lang": "en-US", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "reportCount": 1, "unique": true, "unitRef": null, "xsiNil": "false" } } }, "segmentCount": 60, "tag": { "VTSI_AcquiredLeaseIntangibleAssetsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Acquired Lease Intangible Assets [Member]", "label": "Acquired Lease Intangible Assets [Member]" } } }, "localname": "AcquiredLeaseIntangibleAssetsMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "domainItemType" }, "VTSI_AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Adjustments to additional paid-in capital stock reserved for future services.", "label": "Stock reserved for future services" } } }, "localname": "AdjustmentsToAdditionalPaidInCapitalStockReservedForFutureServices", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "VTSI_ArizonaBankAndTrustMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Arizona Bank and Trust [Member]", "label": "Arizona Bank and Trust [Member]" } } }, "localname": "ArizonaBankAndTrustMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_CapitalizedMediaContentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Capitalized Media Content [Member]", "label": "Capitalized Media Content [Member]" } } }, "localname": "CapitalizedMediaContentMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "domainItemType" }, "VTSI_ChiefExecutiveOfficerAndChiefOperatingOfficerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Chief Executive Officer and Chief Operating Officer [Member]", "label": "Chief Executive Officer and Chief Operating Officer [Member]" } } }, "localname": "ChiefExecutiveOfficerAndChiefOperatingOfficerMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_CommercialCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commercial Customers [Member]", "label": "Commercial Customers [Member]" } } }, "localname": "CommercialCustomersMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_ConversionOfInventoryToPropertyAndEquipment": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Conversion of inventory to propertyand equipment.", "label": "Conversion of inventory to property and equipment" } } }, "localname": "ConversionOfInventoryToPropertyAndEquipment", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "VTSI_CustomizedSoftwareAndCustomizedContentScenarios": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Customized software and customized content scenarios.", "label": "Customized software and content" } } }, "localname": "CustomizedSoftwareAndCustomizedContentScenarios", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "monetaryItemType" }, "VTSI_DeferredRevenueMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Deferred Revenue [Member]", "label": "Deferred Revenue [Member]" } } }, "localname": "DeferredRevenueMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_DisaggregationOfRevenuePolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disaggregation Of Revenue [Policy Text Block]", "label": "Disaggregation of Revenue" } } }, "localname": "DisaggregationOfRevenuePolicyTextBlock", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "VTSI_ExtendedServicetypeWarranties": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Extended service-type warranties.", "label": "Extended service-type warranties" } } }, "localname": "ExtendedServicetypeWarranties", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "monetaryItemType" }, "VTSI_FurnitureAndOfficeEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Furniture and Office Equipment [Member]", "label": "Furniture and Office Equipment [Member]" } } }, "localname": "FurnitureAndOfficeEquipmentMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "VTSI_GeographicDistributionCommercialMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Commercial [Member]", "label": "Commercial [Member]" } } }, "localname": "GeographicDistributionCommercialMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "VTSI_GeographicDistributionGovernmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Government [Member]", "label": "Government [Member]" } } }, "localname": "GeographicDistributionGovernmentMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "VTSI_GovernmentCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Government Customers [Member]", "label": "Government Customers [Member]" } } }, "localname": "GovernmentCustomersMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_InstallationAndTraining": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Installation and training.", "label": "Installation and training" } } }, "localname": "InstallationAndTraining", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "monetaryItemType" }, "VTSI_InternationalCustomersMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "International Customers [Member]", "label": "International Customers [Member]" } } }, "localname": "InternationalCustomersMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_JuneThirtyTwoThousandAndTwentyTwoMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "June 30, 2022 [Member]", "label": "June 30, 2022 [Member]" } } }, "localname": "JuneThirtyTwoThousandAndTwentyTwoMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_LicensingAndRoyaltiesRevenue": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Licensing and royalties revenue.", "label": "Licensing and royalties" } } }, "localname": "LicensingAndRoyaltiesRevenue", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "monetaryItemType" }, "VTSI_LongerThanOneYearMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Longer Than One Year [Member]", "label": "Longer Than One Year [Member]" } } }, "localname": "LongerThanOneYearMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_Mr.GivensMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Mr.Givens [Member]", "label": "Mr.Givens [Member]" } } }, "localname": "Mr.GivensMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_NetSalesMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Net Sales [Member]", "label": "Net Sales [Member]" } } }, "localname": "NetSalesMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "domainItemType" }, "VTSI_NonQualifiedStockOptionMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Non Qualified Stock Option [Member]", "label": "Non Qualified Stock Option [Member]" } } }, "localname": "NonQualifiedStockOptionMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "domainItemType" }, "VTSI_NotesPayableMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Notes Payable [Member]", "label": "Notes Payable [Member]" } } }, "localname": "NotesPayableMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "domainItemType" }, "VTSI_OneCommercialCustomerMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Commercial Customer [Member]", "label": "One Commercial Customer [Member]" } } }, "localname": "OneCommercialCustomerMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneFederalAgencyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Federal Agency [Member]", "label": "One Federal Agency [Member]" } } }, "localname": "OneFederalAgencyMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneForeignAgencyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Foreign Agency [Member]", "label": "One Foreign Agency [Member]" } } }, "localname": "OneForeignAgencyMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneHundredAndNineteenRegularMonthlyPaymentsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "199 Regular Monthly Payments [Member]", "label": "199 Regular Monthly Payments [Member]" } } }, "localname": "OneHundredAndNineteenRegularMonthlyPaymentsMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneIrregularPaymentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Irregular Payment [Member]", "label": "One Irregular Payment [Member]" } } }, "localname": "OneIrregularPaymentMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneMemberOfTheBoardOfDirectorsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Member Of The Board Of Directors [Member]", "label": "One Member Of The Board Of Directors [Member]" } } }, "localname": "OneMemberOfTheBoardOfDirectorsMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneStateAgencyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One State Agency [Member]", "label": "One State Agency [Member]" } } }, "localname": "OneStateAgencyMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneYearMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Year [Member]", "label": "One Year [Member]" } } }, "localname": "OneYearMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OneYearOrLessMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "One Year or Less [Member]", "label": "One Year or Less [Member]" } } }, "localname": "OneYearOrLessMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_OrganizationAndBusinessOperationsPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Organization And Business Operations [Policy Text Block]", "label": "Organization and Business Operations" } } }, "localname": "OrganizationAndBusinessOperationsPolicyTextBlock", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "VTSI_PropertyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Property [Member]", "label": "Property [Member]" } } }, "localname": "PropertyMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_STEPEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "STEP Equipment [Member]", "label": "STEP Equipment [Member]" } } }, "localname": "STEPEquipmentMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "VTSI_ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule Of Balance Sheet Classification Of Lease Assets And Liabilities Table Text Block", "label": "Schedule of Balance Sheet Classification of Lease Assets and Liabilities" } } }, "localname": "ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesTableTextBlock", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Number of options, redeemed.", "label": "Number of Stock Options, Redeemed" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodGross", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Weighted average exercise price, redeemed.", "label": "Weighted Exercise Price, Redeemed" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsRedeemedInPeriodWeightedAverageIntrinsicValue", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "VTSI_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Share-based compensation arrangement by Share-based payment award, options, vested and expected to vest, exercisable and outstanding, aggregate intrinsic value.", "label": "Exercisable and outstanding Intriinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableAndOutstandingAggregateIntrinsicValue", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "VTSI_SimulatorsandAccessoriesRevenue": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Simulatorsand accessories revenue.", "label": "Simulators and accessories" } } }, "localname": "SimulatorsandAccessoriesRevenue", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "monetaryItemType" }, "VTSI_SparePartsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Spare Parts [Member]", "label": "Spare Parts [Member]" } } }, "localname": "SparePartsMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/InventoryDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_StockIssuedDuringPeriodsharesForSigningBonus": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Stock issued during period for signing bonus, shares.", "label": "Stock issued during period for signing bonus, shares" } } }, "localname": "StockIssuedDuringPeriodsharesForSigningBonus", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "sharesItemType" }, "VTSI_TrancheMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tranche [Member]", "label": "Tranche [Member]" } } }, "localname": "TrancheMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_TwoThousandAndSeventeenEquityIncentivePlanMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "2017 Equity Incentive Plan [Member]", "label": "2017 Equity Incentive Plan [Member]" } } }, "localname": "TwoThousandAndSeventeenEquityIncentivePlanMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative", "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "domainItemType" }, "VTSI_WarrantyMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Warranty [Member]", "label": "Warranty [Member]" } } }, "localname": "WarrantyMember", "nsuri": "http://virtra.com/20220331", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "dei_AddressTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An entity may have several addresses for different purposes and this domain represents all such types." } } }, "localname": "AddressTypeDomain", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "domainItemType" }, "dei_AmendmentDescription": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Description of changes contained within amended document.", "label": "Amendment Description" } } }, "localname": "AmendmentDescription", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "stringItemType" }, "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://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AnnualInformationForm": { "auth_ref": [ "r464" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag with value true on a form if it is an annual report containing an annual information form.", "label": "Annual Information Form" } } }, "localname": "AnnualInformationForm", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_AuditedAnnualFinancialStatements": { "auth_ref": [ "r464" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag with value true on a form if it is an annual report containing audited financial statements.", "label": "Audited Annual Financial Statements" } } }, "localname": "AuditedAnnualFinancialStatements", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CountryRegion": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Region code of country", "label": "Country Region" } } }, "localname": "CountryRegion", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_CoverAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Cover page." } } }, "localname": "CoverAbstract", "nsuri": "http://xbrl.sec.gov/dei/2022", "xbrltype": "stringItemType" }, "dei_CurrentFiscalYearEndDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "End date of current fiscal year in the format --MM-DD.", "label": "Current Fiscal Year End Date" } } }, "localname": "CurrentFiscalYearEndDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "gMonthDayItemType" }, "dei_DocumentAccountingStandard": { "auth_ref": [ "r463" ], "lang": { "en-us": { "role": { "documentation": "The basis of accounting the registrant has used to prepare the financial statements included in this filing This can either be 'U.S. GAAP', 'International Financial Reporting Standards', or 'Other'.", "label": "Document Accounting Standard" } } }, "localname": "DocumentAccountingStandard", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "accountingStandardItemType" }, "dei_DocumentAnnualReport": { "auth_ref": [ "r460", "r463", "r464" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as an annual report.", "label": "Document Annual Report" } } }, "localname": "DocumentAnnualReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "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://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentPeriodStartDate": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The start date of the period covered in the document, in YYYY-MM-DD format.", "label": "Document Period Start Date" } } }, "localname": "DocumentPeriodStartDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentQuarterlyReport": { "auth_ref": [ "r461" ], "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://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentRegistrationStatement": { "auth_ref": [ "r449" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a form used as a registration statement.", "label": "Document Registration Statement" } } }, "localname": "DocumentRegistrationStatement", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentShellCompanyEventDate": { "auth_ref": [ "r463" ], "lang": { "en-us": { "role": { "documentation": "Date of event requiring a shell company report.", "label": "Document Shell Company Event Date" } } }, "localname": "DocumentShellCompanyEventDate", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "dateItemType" }, "dei_DocumentShellCompanyReport": { "auth_ref": [ "r463" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true for a Shell Company Report pursuant to section 13 or 15(d) of the Exchange Act.", "label": "Document Shell Company Report" } } }, "localname": "DocumentShellCompanyReport", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_DocumentTransitionReport": { "auth_ref": [ "r466" ], "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://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "submissionTypeItemType" }, "dei_DocumentsIncorporatedByReferenceTextBlock": { "auth_ref": [ "r452" ], "lang": { "en-us": { "role": { "documentation": "Documents incorporated by reference.", "label": "Documents Incorporated by Reference [Text Block]" } } }, "localname": "DocumentsIncorporatedByReferenceTextBlock", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "textBlockItemType" }, "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://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine2": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 2 such as Street or Suite number", "label": "Entity Address, Address Line Two" } } }, "localname": "EntityAddressAddressLine2", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressAddressLine3": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Address Line 3 such as an Office Park", "label": "Entity Address, Address Line Three" } } }, "localname": "EntityAddressAddressLine3", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityAddressCountry": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "ISO 3166-1 alpha-2 country code.", "label": "Entity Address, Country" } } }, "localname": "EntityAddressCountry", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "countryCodeItemType" }, "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://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "stateOrProvinceItemType" }, "dei_EntityAddressesAddressTypeAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The axis of a table defines the relationship between the domain members or categories in the table and the line items or concepts that complete the table.", "label": "Entity Addresses, Address Type [Axis]" } } }, "localname": "EntityAddressesAddressTypeAxis", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "stringItemType" }, "dei_EntityAddressesLineItems": { "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": "Entity Addresses [Line Items]" } } }, "localname": "EntityAddressesLineItems", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "stringItemType" }, "dei_EntityAddressesTable": { "auth_ref": [ "r451" ], "lang": { "en-us": { "role": { "documentation": "Container of address information for the entity", "label": "Entity Addresses [Table]" } } }, "localname": "EntityAddressesTable", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "stringItemType" }, "dei_EntityBankruptcyProceedingsReportingCurrent": { "auth_ref": [ "r455" ], "lang": { "en-us": { "role": { "documentation": "For registrants involved in bankruptcy proceedings during the preceding five years, the value Yes indicates that the registrant has filed all documents and reports required to be filed by Section 12, 13 or 15(d) of the Securities Exchange Act of 1934 subsequent to the distribution of securities under a plan confirmed by a court; the value No indicates the registrant has not. Registrants not involved in bankruptcy proceedings during the preceding five years should not report this element.", "label": "Entity Bankruptcy Proceedings, Reporting Current" } } }, "localname": "EntityBankruptcyProceedingsReportingCurrent", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityCentralIndexKey": { "auth_ref": [ "r451" ], "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://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "All the names of the entities being reported upon in a document. Any legal structure used to conduct activities or to hold assets. Some examples of such structures are corporations, partnerships, limited liability companies, grantor trusts, and other trusts. This item does not include business and geographical segments which are included in the geographical or business segments domains." } } }, "localname": "EntityDomain", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "domainItemType" }, "dei_EntityEmergingGrowthCompany": { "auth_ref": [ "r451" ], "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://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityExTransitionPeriod": { "auth_ref": [ "r488" ], "lang": { "en-us": { "role": { "documentation": "Indicate if an emerging growth company has elected not to use the extended transition period for complying with any new or revised financial accounting standards.", "label": "Elected Not To Use the Extended Transition Period" } } }, "localname": "EntityExTransitionPeriod", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "fileNumberItemType" }, "dei_EntityFilerCategory": { "auth_ref": [ "r451" ], "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://virtra.com/role/Cover" ], "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://virtra.com/role/Cover" ], "xbrltype": "edgarStateCountryItemType" }, "dei_EntityInteractiveDataCurrent": { "auth_ref": [ "r485" ], "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://virtra.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityPrimarySicNumber": { "auth_ref": [ "r464" ], "lang": { "en-us": { "role": { "documentation": "Primary Standard Industrial Classification (SIC) Number for the Entity.", "label": "Entity Primary SIC Number" } } }, "localname": "EntityPrimarySicNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "sicNumberItemType" }, "dei_EntityPublicFloat": { "auth_ref": [], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter.", "label": "Entity Public Float" } } }, "localname": "EntityPublicFloat", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "monetaryItemType" }, "dei_EntityRegistrantName": { "auth_ref": [ "r451" ], "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://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_EntityShellCompany": { "auth_ref": [ "r451" ], "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://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntitySmallBusiness": { "auth_ref": [ "r451" ], "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://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_EntityTaxIdentificationNumber": { "auth_ref": [ "r451" ], "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://virtra.com/role/Cover" ], "xbrltype": "employerIdItemType" }, "dei_EntityVoluntaryFilers": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act.", "label": "Entity Voluntary Filers" } } }, "localname": "EntityVoluntaryFilers", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_EntityWellKnownSeasonedIssuer": { "auth_ref": [ "r486" ], "lang": { "en-us": { "role": { "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A.", "label": "Entity Well-known Seasoned Issuer" } } }, "localname": "EntityWellKnownSeasonedIssuer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "yesNoItemType" }, "dei_Extension": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Extension number for local phone number.", "label": "Extension" } } }, "localname": "Extension", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_FormerAddressMember": { "auth_ref": [ "r462", "r465" ], "lang": { "en-us": { "role": { "documentation": "Former address for entity", "label": "Former Address [Member]" } } }, "localname": "FormerAddressMember", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "domainItemType" }, "dei_LegalEntityAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The set of legal entities associated with a report.", "label": "Legal Entity [Axis]" } } }, "localname": "LegalEntityAxis", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "stringItemType" }, "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://virtra.com/role/Cover" ], "xbrltype": "normalizedStringItemType" }, "dei_NoTradingSymbolFlag": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true only for a security having no trading symbol.", "label": "No Trading Symbol Flag" } } }, "localname": "NoTradingSymbolFlag", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "trueItemType" }, "dei_OtherReportingStandardItemNumber": { "auth_ref": [ "r463" ], "lang": { "en-us": { "role": { "documentation": "\"Item 17\" or \"Item 18\" specified when the basis of accounting is neither US GAAP nor IFRS.", "label": "Other Reporting Standard Item Number" } } }, "localname": "OtherReportingStandardItemNumber", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "otherReportingStandardItemNumberItemType" }, "dei_PreCommencementIssuerTenderOffer": { "auth_ref": [ "r456" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 13e-4(c) under the Exchange Act.", "label": "Pre-commencement Issuer Tender Offer" } } }, "localname": "PreCommencementIssuerTenderOffer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_PreCommencementTenderOffer": { "auth_ref": [ "r457" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as pre-commencement communications pursuant to Rule 14d-2(b) under the Exchange Act.", "label": "Pre-commencement Tender Offer" } } }, "localname": "PreCommencementTenderOffer", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "dei_Security12bTitle": { "auth_ref": [ "r450" ], "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://virtra.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_Security12gTitle": { "auth_ref": [ "r454" ], "lang": { "en-us": { "role": { "documentation": "Title of a 12(g) registered security.", "label": "Title of 12(g) Security" } } }, "localname": "Security12gTitle", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "securityTitleItemType" }, "dei_SecurityExchangeName": { "auth_ref": [ "r453" ], "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://virtra.com/role/Cover" ], "xbrltype": "edgarExchangeCodeItemType" }, "dei_SecurityReportingObligation": { "auth_ref": [ "r458" ], "lang": { "en-us": { "role": { "documentation": "15(d), indicating whether the security has a reporting obligation under that section of the Exchange Act.", "label": "Security Reporting Obligation" } } }, "localname": "SecurityReportingObligation", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "securityReportingObligationItemType" }, "dei_SolicitingMaterial": { "auth_ref": [ "r459" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as soliciting material pursuant to Rule 14a-12 under the Exchange Act.", "label": "Soliciting Material" } } }, "localname": "SolicitingMaterial", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "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://virtra.com/role/Cover" ], "xbrltype": "tradingSymbolItemType" }, "dei_WrittenCommunications": { "auth_ref": [ "r487" ], "lang": { "en-us": { "role": { "documentation": "Boolean flag that is true when the Form 8-K filing is intended to satisfy the filing obligation of the registrant as written communications pursuant to Rule 425 under the Securities Act.", "label": "Written Communications" } } }, "localname": "WrittenCommunications", "nsuri": "http://xbrl.sec.gov/dei/2022", "presentation": [ "http://virtra.com/role/Cover" ], "xbrltype": "booleanItemType" }, "srt_ChiefExecutiveOfficerMember": { "auth_ref": [ "r157" ], "lang": { "en-us": { "role": { "label": "Chief Executive Officer [Member]" } } }, "localname": "ChiefExecutiveOfficerMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "domainItemType" }, "srt_ChiefOperatingOfficerMember": { "auth_ref": [ "r157", "r372" ], "lang": { "en-us": { "role": { "label": "Chief Operating Officer [Member]" } } }, "localname": "ChiefOperatingOfficerMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "domainItemType" }, "srt_MajorCustomersAxis": { "auth_ref": [ "r156", "r273", "r278", "r422" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "localname": "MajorCustomersAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "srt_MaximumMember": { "auth_ref": [ "r188", "r189", "r190", "r191", "r212", "r246", "r285", "r286", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r419", "r423", "r446", "r447" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]" } } }, "localname": "MaximumMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "domainItemType" }, "srt_NameOfMajorCustomerDomain": { "auth_ref": [ "r156", "r273", "r278", "r422" ], "localname": "NameOfMajorCustomerDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "srt_ProductOrServiceAxis": { "auth_ref": [ "r153", "r189", "r190", "r273", "r276", "r390", "r418", "r420" ], "lang": { "en-us": { "role": { "label": "Product and Service [Axis]" } } }, "localname": "ProductOrServiceAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "srt_ProductsAndServicesDomain": { "auth_ref": [ "r153", "r189", "r190", "r273", "r276", "r390", "r418", "r420" ], "localname": "ProductsAndServicesDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "domainItemType" }, "srt_RangeAxis": { "auth_ref": [ "r183", "r188", "r189", "r190", "r191", "r212", "r246", "r284", "r285", "r286", "r314", "r315", "r316", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r419", "r423", "r446", "r447" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]" } } }, "localname": "RangeAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "stringItemType" }, "srt_RangeMember": { "auth_ref": [ "r183", "r188", "r189", "r190", "r191", "r212", "r246", "r284", "r285", "r286", "r314", "r315", "r316", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r419", "r423", "r446", "r447" ], "localname": "RangeMember", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "domainItemType" }, "srt_SegmentGeographicalDomain": { "auth_ref": [ "r154", "r155", "r273", "r277", "r421", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445" ], "localname": "SegmentGeographicalDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative", "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "srt_StatementGeographicalAxis": { "auth_ref": [ "r154", "r155", "r273", "r277", "r421", "r431", "r437", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "localname": "StatementGeographicalAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative", "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualAxis": { "auth_ref": [ "r157", "r372" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]" } } }, "localname": "TitleOfIndividualAxis", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative", "http://virtra.com/role/StockholdersEquityDetailsNarrative", "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "stringItemType" }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "auth_ref": [], "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "nsuri": "http://fasb.org/srt/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative", "http://virtra.com/role/StockholdersEquityDetailsNarrative", "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_AccountingPoliciesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Accounting Policies [Abstract]" } } }, "localname": "AccountingPoliciesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable, accrued expenses, and other liabilities that are classified as current at the end of the reporting period.", "label": "Schedule of Accrued Expenses and Other Current Liabilities" } } }, "localname": "AccountsPayableAccruedLiabilitiesAndOtherLiabilitiesDisclosureCurrentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/AccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "auth_ref": [ "r35" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period.", "label": "Accrued Expenses" } } }, "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/AccruedExpenses" ], "xbrltype": "textBlockItemType" }, "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent": { "auth_ref": [], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities incurred to vendors for goods and services received, and accrued liabilities classified as other, payable within one year or the normal operating cycle, if longer.", "label": "Accrued expenses and other current liabilities", "totalLabel": "Total accrued expenses and other current liabilities" } } }, "localname": "AccountsPayableAndOtherAccruedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsPayableCurrent": { "auth_ref": [ "r34", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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" } } }, "localname": "AccountsPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccountsReceivableMember": { "auth_ref": [ "r432" ], "lang": { "en-us": { "role": { "documentation": "Due from customers or clients for goods or services that have been delivered or sold.", "label": "Accounts Receivable [Member]" } } }, "localname": "AccountsReceivableMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_AccountsReceivableNetCurrent": { "auth_ref": [ "r158", "r159" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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" } } }, "localname": "AccountsReceivableNetCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedEmployeeBenefitsCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": { "order": 2.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations, excluding pension and other postretirement benefits, incurred through that date and payable for perquisites provided to employees pertaining to services received from them. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Employee benefits payable" } } }, "localname": "AccruedEmployeeBenefitsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedSalariesCurrent": { "auth_ref": [ "r6", "r39" ], "calculation": { "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": { "order": 1.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of the obligations incurred through that date and payable for employees' services provided. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Salaries and wages payable" } } }, "localname": "AccruedSalariesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccruedVacationCurrent": { "auth_ref": [ "r39", "r281" ], "calculation": { "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": { "order": 3.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for unused vacation time owed to employees based on the entity's vacation benefit given to its employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued paid time off (PTO)" } } }, "localname": "AccruedVacationCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "auth_ref": [ "r13", "r179" ], "calculation": { "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails": { "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": "Less: Accumulated depreciation and amortization" } } }, "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapital": { "auth_ref": [ "r24", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of excess of issue price over par or stated value of stock and from other transaction involving stock or stockholder. Includes, but is not limited to, additional paid-in capital (APIC) for common and preferred stock.", "label": "Additional paid-in capital" } } }, "localname": "AdditionalPaidInCapital", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AdditionalPaidInCapitalMember": { "auth_ref": [ "r90", "r91", "r92", "r321", "r322", "r323", "r345" ], "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]" } } }, "localname": "AdditionalPaidInCapitalMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Adjustments to reconcile net income to net cash (used in) provided by operating activities:" } } }, "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_AllocatedShareBasedCompensationExpense": { "auth_ref": [ "r318" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized.", "label": "Compensation expenses" } } }, "localname": "AllocatedShareBasedCompensationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_AmortizationOfIntangibleAssets": { "auth_ref": [ "r75", "r168", "r174" ], "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 asset" } } }, "localname": "AmortizationOfIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/IntangibleAssetDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": { "auth_ref": [ "r116" ], "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": "Anti-dilutive securities excluded from computation of earnings per share" } } }, "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_Assets": { "auth_ref": [ "r16", "r86", "r142", "r145", "r151", "r161", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r333", "r335", "r351", "r375", "r377", "r394", "r409" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "ASSETS" } } }, "localname": "AssetsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsCurrent": { "auth_ref": [ "r4", "r33", "r86", "r161", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r333", "r335", "r351", "r375", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current assets:" } } }, "localname": "AssetsCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AssetsNoncurrent": { "auth_ref": [ "r86", "r161", "r198", "r199", "r200", "r201", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r333", "r335", "r351", "r375" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 2.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 after one year or beyond the normal operating cycle, if longer.", "label": "Assets, Noncurrent", "totalLabel": "Total long-term assets" } } }, "localname": "AssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_AssetsNoncurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-term assets:" } } }, "localname": "AssetsNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_AwardDateAxis": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Information by date or year award under share-based payment arrangement is granted.", "label": "Award Date [Axis]" } } }, "localname": "AwardDateAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_AwardDateDomain": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Date or year award under share-based payment arrangement is granted." } } }, "localname": "AwardDateDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_AwardTypeAxis": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "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://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationAxis": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Information by location on balance sheet (statement of financial position).", "label": "Balance Sheet Location [Axis]" } } }, "localname": "BalanceSheetLocationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/InventoryDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_BalanceSheetLocationDomain": { "auth_ref": [ "r338", "r341" ], "lang": { "en-us": { "role": { "documentation": "Location in the balance sheet (statement of financial position)." } } }, "localname": "BalanceSheetLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/InventoryDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).", "label": "Basis of Presentation" } } }, "localname": "BasisOfAccountingPolicyPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_BuildingAndBuildingImprovementsMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Facility held for productive use including, but not limited to, office, production, storage and distribution facilities and any addition, improvement, or renovation to the structure, for example, but not limited to, interior masonry, interior flooring, electrical, and plumbing.", "label": "Building and Building Improvements [Member]" } } }, "localname": "BuildingAndBuildingImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "auth_ref": [ "r2", "r11", "r77" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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" } } }, "localname": "CashAndCashEquivalentsAtCarryingValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "auth_ref": [ "r69", "r77", "r79" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including, but not limited to, 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, Including Disposal Group and Discontinued Operations", "periodEndLabel": "Cash and restricted cash, end of period", "periodStartLabel": "Cash and restricted cash, beginning of period" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "auth_ref": [ "r69", "r352" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "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 restricted cash" } } }, "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFDICInsuredAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of cash deposited in financial institutions as of the balance sheet date that is insured by the Federal Deposit Insurance Corporation.", "label": "FDIC insured amount" } } }, "localname": "CashFDICInsuredAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental disclosure of non-cash investing and financing activities:" } } }, "localname": "CashFlowNoncashInvestingAndFinancingActivitiesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_CashUninsuredAmount": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of cash as of the balance sheet date that is not insured by the Federal Deposit Insurance Corporation.", "label": "Uninsured cash and cash equivalents" } } }, "localname": "CashUninsuredAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ChangeInAccountingEstimateByTypeAxis": { "auth_ref": [ "r98", "r120" ], "lang": { "en-us": { "role": { "documentation": "Information by type of change in accounting estimate.", "label": "Change in Accounting Estimate by Type [Axis]" } } }, "localname": "ChangeInAccountingEstimateByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ChangeInAccountingEstimateTypeDomain": { "auth_ref": [ "r98", "r120" ], "lang": { "en-us": { "role": { "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities." } } }, "localname": "ChangeInAccountingEstimateTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockDomain": { "auth_ref": [ "r21", "r22", "r23", "r83", "r86", "r106", "r110", "r111", "r113", "r115", "r122", "r123", "r124", "r161", "r198", "r202", "r203", "r204", "r207", "r208", "r244", "r245", "r249", "r253", "r260", "r351", "r467" ], "lang": { "en-us": { "role": { "documentation": "Share of stock differentiated by the voting rights the holder receives. Examples include, but are not limited to, common stock, redeemable preferred stock, nonredeemable preferred stock, and convertible stock." } } }, "localname": "ClassOfStockDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/BalanceSheetsParenthetical", "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_ClassOfStockLineItems": { "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": "Class of Stock [Line Items]" } } }, "localname": "ClassOfStockLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingencies": { "auth_ref": [ "r45", "r399", "r413" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.", "label": "Commitments and contingencies (See Note 9)" } } }, "localname": "CommitmentsAndContingencies", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Abstract]" } } }, "localname": "CommitmentsAndContingenciesDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "auth_ref": [ "r185", "r186", "r187", "r192", "r433" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for commitments and contingencies.", "label": "Commitments and Contingencies" } } }, "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingencies" ], "xbrltype": "textBlockItemType" }, "us-gaap_CommonClassAMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Classification of common stock representing ownership interest in a corporation.", "label": "Common Class A [Member]" } } }, "localname": "CommonClassAMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_CommonClassBMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Classification of common stock that has different rights than Common Class A, representing ownership interest in a corporation.", "label": "Common Class B [Member]" } } }, "localname": "CommonClassBMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockMember": { "auth_ref": [ "r90", "r91", "r345" ], "lang": { "en-us": { "role": { "documentation": "Stock that is subordinate to all other stock of the issuer.", "label": "Common Stock [Member]" } } }, "localname": "CommonStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity", "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_CommonStockParOrStatedValuePerShare": { "auth_ref": [ "r23" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of common stock.", "label": "Common stock, par value" } } }, "localname": "CommonStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical", "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "perShareItemType" }, "us-gaap_CommonStockSharesAuthorized": { "auth_ref": [ "r23" ], "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" } } }, "localname": "CommonStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesIssued": { "auth_ref": [ "r23" ], "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" } } }, "localname": "CommonStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockSharesOutstanding": { "auth_ref": [ "r23", "r260" ], "lang": { "en-us": { "role": { "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.", "label": "Common stock, shares outstanding" } } }, "localname": "CommonStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_CommonStockValue": { "auth_ref": [ "r23", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Common stock value" } } }, "localname": "CommonStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ComputerEquipmentMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Long lived, depreciable assets that are used in the creation, maintenance and utilization of information systems.", "label": "Computer Equipment [Member]" } } }, "localname": "ComputerEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "auth_ref": [ "r132", "r133", "r156", "r349", "r350", "r432" ], "lang": { "en-us": { "role": { "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "localname": "ConcentrationRiskBenchmarkDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "auth_ref": [ "r132", "r133", "r156", "r349", "r350", "r430", "r432" ], "lang": { "en-us": { "role": { "documentation": "Information by benchmark of concentration risk.", "label": "Concentration Risk Benchmark [Axis]" } } }, "localname": "ConcentrationRiskByBenchmarkAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskByTypeAxis": { "auth_ref": [ "r132", "r133", "r156", "r349", "r350", "r430", "r432" ], "lang": { "en-us": { "role": { "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender.", "label": "Concentration Risk Type [Axis]" } } }, "localname": "ConcentrationRiskByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ConcentrationRiskCreditRisk": { "auth_ref": [ "r127", "r407" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for credit risk.", "label": "Concentration of Credit Risk and Major Customers and Suppliers" } } }, "localname": "ConcentrationRiskCreditRisk", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_ConcentrationRiskPercentage1": { "auth_ref": [ "r132", "r133", "r156", "r349", "r350" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division.", "label": "Concentration of credit risk" } } }, "localname": "ConcentrationRiskPercentage1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "percentItemType" }, "us-gaap_ConcentrationRiskTypeDomain": { "auth_ref": [ "r132", "r133", "r156", "r349", "r350", "r432" ], "lang": { "en-us": { "role": { "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "localname": "ConcentrationRiskTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_ConstructionInProgressMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service.", "label": "Construction in Progress [Member]" } } }, "localname": "ConstructionInProgressMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "auth_ref": [ "r270", "r271", "r274" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 6.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": "Deferred revenue, short-term", "verboseLabel": "Customer deposits, current" } } }, "localname": "ContractWithCustomerLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityNoncurrent": { "auth_ref": [ "r270", "r271", "r274" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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": "Deferred revenue, long-term" } } }, "localname": "ContractWithCustomerLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "auth_ref": [ "r275" ], "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": "Revenue recognized" } } }, "localname": "ContractWithCustomerLiabilityRevenueRecognized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_CostOfGoodsAndServicesSold": { "auth_ref": [ "r61", "r390" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_GrossProfit", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities.", "label": "Cost of sales" } } }, "localname": "CostOfGoodsAndServicesSold", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_CustomerConcentrationRiskMember": { "auth_ref": [ "r130", "r156" ], "lang": { "en-us": { "role": { "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer.", "label": "Customer Concentration Risk [Member]" } } }, "localname": "CustomerConcentrationRiskMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_DebtDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Abstract]" } } }, "localname": "DebtDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_DebtDisclosureTextBlock": { "auth_ref": [ "r82", "r215", "r216", "r217", "r218", "r219", "r220", "r221", "r226", "r233", "r234", "r235", "r240" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.", "label": "Note Payable" } } }, "localname": "DebtDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayable" ], "xbrltype": "textBlockItemType" }, "us-gaap_DebtInstrumentAxis": { "auth_ref": [ "r17", "r18", "r19", "r85", "r88", "r209", "r210", "r211", "r212", "r213", "r214", "r216", "r222", "r223", "r224", "r225", "r227", "r228", "r229", "r230", "r231", "r232", "r236", "r237", "r238", "r239", "r361", "r395", "r396", "r408" ], "lang": { "en-us": { "role": { "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities.", "label": "Debt Instrument [Axis]" } } }, "localname": "DebtInstrumentAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_DebtInstrumentFaceAmount": { "auth_ref": [ "r209", "r236", "r237", "r360", "r361", "r362" ], "calculation": { "http://virtra.com/role/ScheduleOfNotesPayableDetails": { "order": 1.0, "parentTag": "us-gaap_NotesPayableCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Face (par) amount of debt instrument at time of issuance.", "label": "Note payable, principal" } } }, "localname": "DebtInstrumentFaceAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DebtInstrumentInterestRateDuringPeriod": { "auth_ref": [ "r41", "r229", "r360" ], "lang": { "en-us": { "role": { "documentation": "The average effective interest rate during the reporting period.", "label": "Debt instrument interest rate" } } }, "localname": "DebtInstrumentInterestRateDuringPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "percentItemType" }, "us-gaap_DebtInstrumentMaturityDate": { "auth_ref": [ "r42", "r212", "r348" ], "lang": { "en-us": { "role": { "documentation": "Date when the debt instrument is scheduled to be fully repaid, in YYYY-MM-DD format.", "label": "Maturity date" } } }, "localname": "DebtInstrumentMaturityDate", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "dateItemType" }, "us-gaap_DebtInstrumentNameDomain": { "auth_ref": [ "r43", "r85", "r88", "r209", "r210", "r211", "r212", "r213", "r214", "r216", "r222", "r223", "r224", "r225", "r227", "r228", "r229", "r230", "r231", "r232", "r236", "r237", "r238", "r239", "r361" ], "lang": { "en-us": { "role": { "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities." } } }, "localname": "DebtInstrumentNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_DebtInstrumentPeriodicPayment": { "auth_ref": [ "r43", "r406" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of the required periodic payments including both interest and principal payments.", "label": "Debt instrument periodic payment" } } }, "localname": "DebtInstrumentPeriodicPayment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain": { "auth_ref": [ "r279", "r282" ], "lang": { "en-us": { "role": { "documentation": "Deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans." } } }, "localname": "DeferredBonusAndProfitSharingArrangementIndividualContractTypeOfDeferredCompensationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis": { "auth_ref": [ "r279", "r282" ], "lang": { "en-us": { "role": { "documentation": "Information by type of deferred compensation that is not equivalent to a defined benefit pension plan or a defined benefit other postretirement benefit plan. Includes, but is not limited to, employment contracts with one or more selected officers or key employees. Excludes equity-based compensation plans, defined benefit pension plans and defined benefit other postretirement benefit plans.", "label": "Deferred Bonus and Profit Sharing Arrangements, Individual Contracts, Type of Deferred Compensation [Axis]" } } }, "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTypeOfDeferredCompensationAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems": { "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": "Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits [Line Items]" } } }, "localname": "DeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_DeferredCompensationCashBasedArrangementsLiabilityCurrent": { "auth_ref": [ "r280", "r283" ], "calculation": { "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": { "order": 4.0, "parentTag": "us-gaap_EmployeeRelatedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for deferred compensation arrangements payable within one year (or the normal operating cycle, if longer). Represents currently earned compensation under cash arrangements (such as a profit-sharing plan, rabbi trust, and employee contract--excluding equity-based arrangements) that is not actually paid until a later date.", "label": "Profit sharing payable" } } }, "localname": "DeferredCompensationCashBasedArrangementsLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredIncomeTaxAssetsNet": { "auth_ref": [ "r325", "r326" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 6.0, "parentTag": "us-gaap_AssetsNoncurrent", "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 tax asset, net" } } }, "localname": "DeferredIncomeTaxAssetsNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_DeferredProfitSharingMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "An arrangement whereby an employee is entitled to receive in the future, subject to vesting and other restrictions, a share in the profits, as defined in the agreement, of the entity or portion thereof. Employer contributions may be discretionary or may be based on a fixed formula related to profits, compensation, or other factors. It is a form of incentive compensation to employees in addition to their regular salary and bonuses.", "label": "Deferred Profit Sharing [Member]" } } }, "localname": "DeferredProfitSharingMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_DepositContractsPolicy": { "auth_ref": [ "r429" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the treatment of funds received from or paid to insureds, insurers and reinsurers on contracts for which the criteria for transferring or assuming insurance risk has not been satisfied by the insurer or reinsurer.", "label": "Customer Deposits" } } }, "localname": "DepositContractsPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_DepositsAssetsNoncurrent": { "auth_ref": [ "r15" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsNoncurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Carrying value of amounts transferred to third parties for security purposes that are expected to be returned or applied towards payment after one year or beyond the operating cycle, if longer.", "label": "Security deposits, long-term" } } }, "localname": "DepositsAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_Depreciation": { "auth_ref": [ "r75", "r177" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation.", "label": "Depreciation expense" } } }, "localname": "Depreciation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/PropertyAndEquipmentDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_DepreciationDepletionAndAmortization": { "auth_ref": [ "r75", "r140" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 2.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 and amortization" } } }, "localname": "DepreciationDepletionAndAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_DerivativeContractTypeDomain": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Financial instrument or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset." } } }, "localname": "DerivativeContractTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "domainItemType" }, "us-gaap_DerivativeInstrumentRiskAxis": { "auth_ref": [ "r50", "r339", "r340", "r342", "r343" ], "lang": { "en-us": { "role": { "documentation": "Information by type of derivative contract.", "label": "Derivative Instrument [Axis]" } } }, "localname": "DerivativeInstrumentRiskAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "auth_ref": [ "r273" ], "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": "Schedule of Disaggregation of Revenues" } } }, "localname": "DisaggregationOfRevenueTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_EarningsPerShareAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Net income (loss) per common share:" } } }, "localname": "EarningsPerShareAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareBasic": { "auth_ref": [ "r58", "r95", "r96", "r97", "r98", "r99", "r104", "r106", "r113", "r114", "r115", "r118", "r119", "r346", "r347", "r402", "r415" ], "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": "Basic" } } }, "localname": "EarningsPerShareBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfEarningsPerShareDetails", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Weighted average shares outstanding:" } } }, "localname": "EarningsPerShareBasicOtherDisclosuresAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_EarningsPerShareDiluted": { "auth_ref": [ "r58", "r95", "r96", "r97", "r98", "r99", "r106", "r113", "r114", "r115", "r118", "r119", "r346", "r347", "r402", "r415" ], "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": "Diluted" } } }, "localname": "EarningsPerShareDiluted", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfEarningsPerShareDetails", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "perShareItemType" }, "us-gaap_EarningsPerSharePolicyTextBlock": { "auth_ref": [ "r116", "r117" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for computing basic and diluted earnings or loss per share for each class of common stock and participating security. Addresses all significant policy factors, including any antidilutive items that have been excluded from the computation and takes into account stock dividends, splits and reverse splits that occur after the balance sheet date of the latest reporting period but before the issuance of the financial statements.", "label": "Net Income (Loss)per Common Share" } } }, "localname": "EarningsPerSharePolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "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": "Accrued compensation and related costs", "totalLabel": "Total accrued compensation and related costs" } } }, "localname": "EmployeeRelatedLiabilitiesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfAccruedCompensationAndRelatedCostsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_EquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Equity [Abstract]" } } }, "localname": "EquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_EquityComponentDomain": { "auth_ref": [ "r0", "r53", "r54", "r55", "r90", "r91", "r92", "r94", "r100", "r102", "r121", "r162", "r260", "r267", "r321", "r322", "r323", "r328", "r329", "r345", "r353", "r354", "r355", "r356", "r357", "r358", "r368", "r424", "r425", "r426" ], "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." } } }, "localname": "EquityComponentDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_ExtendedProductWarrantyAccrual": { "auth_ref": [ "r196" ], "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 warranties" } } }, "localname": "ExtendedProductWarrantyAccrual", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "auth_ref": [ "r14", "r173" ], "calculation": { "http://virtra.com/role/ScheduleOfIntangibleAssetDetails": { "order": 2.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "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": "Less accumulated amortization" } } }, "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "auth_ref": [ "r169", "r170", "r173", "r175", "r391", "r392" ], "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://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "auth_ref": [ "r173", "r392" ], "calculation": { "http://virtra.com/role/ScheduleOfIntangibleAssetDetails": { "order": 1.0, "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "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": "Total intangible assets" } } }, "localname": "FiniteLivedIntangibleAssetsGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "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]" } } }, "localname": "FiniteLivedIntangibleAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "auth_ref": [ "r169", "r172" ], "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." } } }, "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GeneralAndAdministrativeExpense": { "auth_ref": [ "r62" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "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" } } }, "localname": "GeneralAndAdministrativeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_GeographicDistributionForeignMember": { "auth_ref": [ "r163", "r403", "r404", "r467", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r481", "r482", "r483", "r484" ], "lang": { "en-us": { "role": { "documentation": "Allocation of business activity identified as foreign.", "label": "Geographic Distribution, Foreign [Member]" } } }, "localname": "GeographicDistributionForeignMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails" ], "xbrltype": "domainItemType" }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Abstract]" } } }, "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_GrossProfit": { "auth_ref": [ "r60", "r86", "r142", "r144", "r147", "r150", "r152", "r161", "r198", "r199", "r200", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r351" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "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://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "auth_ref": [ "r56", "r142", "r144", "r147", "r150", "r152", "r393", "r400", "r404", "r416" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "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, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes" } } }, "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeStatementAbstract": { "auth_ref": [], "localname": "IncomeStatementAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationAxis": { "auth_ref": [ "r181", "r184" ], "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://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_IncomeStatementLocationDomain": { "auth_ref": [ "r184" ], "lang": { "en-us": { "role": { "documentation": "Location in the income statement." } } }, "localname": "IncomeStatementLocationDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_IncomeTaxExpenseBenefit": { "auth_ref": [ "r87", "r101", "r102", "r141", "r327", "r330", "r331", "r417" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "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": "Provision (Benefit) for income taxes" } } }, "localname": "IncomeTaxExpenseBenefit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncomeTaxesPaidNet": { "auth_ref": [ "r78" ], "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 (refunded)" } } }, "localname": "IncomeTaxesPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsPayableAndAccruedLiabilities": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 12.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in the amounts payable to vendors for goods and services received and the amount of obligations and expenses incurred but not paid.", "label": "Accounts payable and other accrued expenses" } } }, "localname": "IncreaseDecreaseInAccountsPayableAndAccruedLiabilities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInAccountsReceivable": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 5.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in 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, net" } } }, "localname": "IncreaseDecreaseInAccountsReceivable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "auth_ref": [ "r74", "r388" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 14.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": "Deferred revenue" } } }, "localname": "IncreaseDecreaseInContractWithCustomerLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredIncomeTaxes": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "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 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 taxes" } } }, "localname": "IncreaseDecreaseInDeferredIncomeTaxes", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDeferredRevenue": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 7.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in deferred income and obligation to transfer product and service to customer for which consideration has been received or is receivable.", "label": "Increase (Decrease) in Deferred Revenue", "verboseLabel": "Unbilled revenue" } } }, "localname": "IncreaseDecreaseInDeferredRevenue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInDepositOtherAssets": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 11.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The increase (decrease) during the reporting period in moneys or securities given as security including, but not limited to, contract, escrow, or earnest money deposits, retainage (if applicable), deposits with clearing organizations and others, collateral, or margin deposits.", "label": "Increase (Decrease) in Deposit Assets", "negatedLabel": "Security deposits, long-term" } } }, "localname": "IncreaseDecreaseInDepositOtherAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInInventories": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 6.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, net" } } }, "localname": "IncreaseDecreaseInInventories", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Changes in operating assets and liabilities:" } } }, "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_IncreaseDecreaseInOperatingLeaseLiability": { "auth_ref": [ "r74", "r366" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 13.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in obligation for operating lease.", "label": "Operating lease liability" } } }, "localname": "IncreaseDecreaseInOperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInOtherOperatingAssets": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 10.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://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 9.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://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_IncrementalCommonSharesAttributableToCallOptionsAndWarrants": { "auth_ref": [ "r107", "r108", "r109", "r115" ], "lang": { "en-us": { "role": { "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of call options and warrants using the treasury stock method.", "label": "Incremental shares from stock options" } } }, "localname": "IncrementalCommonSharesAttributableToCallOptionsAndWarrants", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfEarningsPerShareDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_IntangibleAssetsDisclosureTextBlock": { "auth_ref": [ "r176" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for all or part of the information related to intangible assets.", "label": "Intangible Asset" } } }, "localname": "IntangibleAssetsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/IntangibleAsset" ], "xbrltype": "textBlockItemType" }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "auth_ref": [ "r167", "r171" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsNoncurrent", "weight": 1.0 }, "http://virtra.com/role/ScheduleOfIntangibleAssetDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.", "label": "Intangible assets, net", "totalLabel": "Intangible assets, net" } } }, "localname": "IntangibleAssetsNetExcludingGoodwill", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPaidNet": { "auth_ref": [ "r68", "r71", "r78" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount.", "label": "Interest paid" } } }, "localname": "InterestPaidNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_InterestPayableCurrent": { "auth_ref": [ "r39" ], "calculation": { "http://virtra.com/role/ScheduleOfNotesPayableDetails": { "order": 2.0, "parentTag": "us-gaap_NotesPayableCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of [accrued] interest payable on all forms of debt, including trade payables, that has been incurred and is unpaid. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Accrued interest on note" } } }, "localname": "InterestPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryDisclosureAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Inventory Disclosure [Abstract]" } } }, "localname": "InventoryDisclosureAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_InventoryDisclosureTextBlock": { "auth_ref": [ "r165" ], "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" } } }, "localname": "InventoryDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/Inventory" ], "xbrltype": "textBlockItemType" }, "us-gaap_InventoryNet": { "auth_ref": [ "r3", "r32", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 }, "http://virtra.com/role/ScheduleOfInventoryDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.", "label": "Inventory, net", "totalLabel": "Total inventory" } } }, "localname": "InventoryNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryValuationReserves": { "auth_ref": [ "r32", "r164" ], "calculation": { "http://virtra.com/role/ScheduleOfInventoryDetails": { "order": 2.0, "parentTag": "us-gaap_InventoryNet", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of valuation reserve for inventory.", "label": "Inventory Valuation Reserves", "negatedLabel": "Reserve" } } }, "localname": "InventoryValuationReserves", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_InventoryWorkInProcessAndRawMaterials": { "auth_ref": [ "r32" ], "calculation": { "http://virtra.com/role/ScheduleOfInventoryDetails": { "order": 1.0, "parentTag": "us-gaap_InventoryNet", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "The aggregate carrying amount as of the balance sheet date of items held by the entity which are partially completed at the time of measurement and unprocessed items that will go through the production process and become part of the final product. Includes supplies used directly or indirectly in the manufacturing or production process. This element may be used when the reporting entity combines work in process and raw materials into an aggregate amount.", "label": "Raw materials and work in process" } } }, "localname": "InventoryWorkInProcessAndRawMaterials", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfInventoryDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LandMember": { "auth_ref": [ "r276" ], "lang": { "en-us": { "role": { "documentation": "Part of earth's surface not covered by water.", "label": "Land [Member]" } } }, "localname": "LandMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeaseholdImprovementsMember": { "auth_ref": [ "r178" ], "lang": { "en-us": { "role": { "documentation": "Additions or improvements to assets held under a lease arrangement.", "label": "Leasehold Improvements [Member]" } } }, "localname": "LeaseholdImprovementsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_LeasesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Leases [Abstract]" } } }, "localname": "LeasesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_LeasesOfLesseeDisclosureTextBlock": { "auth_ref": [ "r363" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for lessee entity's leasing arrangements including, but not limited to, all of the following: (a.) The basis on which contingent rental payments are determined, (b.) The existence and terms of renewal or purchase options and escalation clauses, (c.) Restrictions imposed by lease agreements, such as those concerning dividends, additional debt, and further leasing.", "label": "Leases" } } }, "localname": "LeasesOfLesseeDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/Leases" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "auth_ref": [ "r367" ], "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": "Schedule of Future Minimum Lease Payments" } } }, "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/LeasesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "auth_ref": [ "r367" ], "calculation": { "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": { "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, to be Paid", "totalLabel": "Total lease payments" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "auth_ref": [ "r367" ], "calculation": { "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": { "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": "2023" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "auth_ref": [ "r367" ], "calculation": { "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": { "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": "2024" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": { "auth_ref": [ "r367" ], "calculation": { "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails": { "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": "2022" } } }, "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "auth_ref": [ "r367" ], "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": "Less: imputed interest" } } }, "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_Liabilities": { "auth_ref": [ "r38", "r86", "r146", "r161", "r198", "r199", "r200", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r334", "r335", "r336", "r351", "r375", "r376" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquity": { "auth_ref": [ "r28", "r86", "r161", "r351", "r377", "r397", "r411" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.", "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders\u2019 equity" } } }, "localname": "LiabilitiesAndStockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "LIABILITIES AND STOCKHOLDERS\u2019 EQUITY" } } }, "localname": "LiabilitiesAndStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesCurrent": { "auth_ref": [ "r5", "r40", "r86", "r161", "r198", "r199", "r200", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r334", "r335", "r336", "r351", "r375", "r376", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesCurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Current liabilities:" } } }, "localname": "LiabilitiesCurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LiabilitiesNoncurrent": { "auth_ref": [ "r8", "r9", "r10", "r19", "r20", "r86", "r161", "r198", "r199", "r200", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r334", "r335", "r336", "r351", "r375", "r376" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_Liabilities", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer.", "label": "Liabilities, Noncurrent", "totalLabel": "Total long-term liabilities" } } }, "localname": "LiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_LiabilitiesNoncurrentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Long-term liabilities:" } } }, "localname": "LiabilitiesNoncurrentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_LongTermNotesPayable": { "auth_ref": [ "r43" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of notes payable (with maturities initially due after one year or beyond the operating cycle if longer), excluding current portion.", "label": "Note payable, long-term", "verboseLabel": "Note payable, long term" } } }, "localname": "LongTermNotesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_LongtermDebtTypeAxis": { "auth_ref": [ "r43" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-term debt.", "label": "Long-Term Debt, Type [Axis]" } } }, "localname": "LongtermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_LongtermDebtTypeDomain": { "auth_ref": [ "r43", "r197" ], "lang": { "en-us": { "role": { "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "localname": "LongtermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "domainItemType" }, "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]" } } }, "localname": "MachineryAndEquipmentMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "auth_ref": [ "r69" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "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", "totalLabel": "Net cash used in financing activities" } } }, "localname": "NetCashProvidedByUsedInFinancingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from financing activities:" } } }, "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "auth_ref": [ "r69" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "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://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from investing activities:" } } }, "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "auth_ref": [ "r69", "r73", "r76" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "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", "totalLabel": "Net cash used in operating activities" } } }, "localname": "NetCashProvidedByUsedInOperatingActivities", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Cash flows from operating activities:" } } }, "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_NetIncomeLoss": { "auth_ref": [ "r1", "r51", "r52", "r55", "r57", "r76", "r86", "r93", "r95", "r96", "r97", "r98", "r101", "r102", "r112", "r142", "r144", "r147", "r150", "r152", "r161", "r198", "r199", "r200", "r202", "r203", "r204", "r205", "r206", "r207", "r208", "r347", "r351", "r401", "r414" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 }, "http://virtra.com/role/StatementsOfOperations": { "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", "totalLabel": "Net income", "verboseLabel": "Net income loss" } } }, "localname": "NetIncomeLoss", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/ScheduleOfEarningsPerShareDetails", "http://virtra.com/role/StatementsOfCashFlows", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NonoperatingIncomeExpense": { "auth_ref": [ "r63" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "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)", "totalLabel": "Net other income (expense)" } } }, "localname": "NonoperatingIncomeExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_NotesPayableCurrent": { "auth_ref": [ "r37" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0 }, "http://virtra.com/role/ScheduleOfNotesPayableDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Sum of the carrying values as of the balance sheet date of the portions of long-term notes payable due within one year or the operating cycle if longer.", "label": "Note payable, current", "totalLabel": "Note payable, short-term" } } }, "localname": "NotesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OffsettingAssetsLineItems": { "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": "Offsetting Assets [Line Items]" } } }, "localname": "OffsettingAssetsLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OffsettingAssetsTable": { "auth_ref": [ "r48", "r49" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of information about derivative and financial assets that are subject to offsetting, including enforceable master netting arrangements.", "label": "Offsetting Assets [Table]" } } }, "localname": "OffsettingAssetsTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingExpenses": { "auth_ref": [], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "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": "Net operating expense" } } }, "localname": "OperatingExpenses", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingExpensesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Operating expenses:" } } }, "localname": "OperatingExpensesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_OperatingIncomeLoss": { "auth_ref": [ "r142", "r144", "r147", "r150", "r152" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "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://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiability": { "auth_ref": [ "r365" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease.", "label": "Operating Lease, Liability", "periodEndLabel": "Total lease liabilities", "verboseLabel": "Operating lease liability" } } }, "localname": "OperatingLeaseLiability", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails", "http://virtra.com/role/ScheduleOfFutureMinimumLeasePaymentsDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityCurrent": { "auth_ref": [ "r365" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 5.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, short-term", "periodEndLabel": "Operating lease liability, short-term" } } }, "localname": "OperatingLeaseLiabilityCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "auth_ref": [ "r365" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "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, long-term", "periodEndLabel": "Operating lease liability, long-term" } } }, "localname": "OperatingLeaseLiabilityNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAsset": { "auth_ref": [ "r364" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 2.0, "parentTag": "us-gaap_AssetsNoncurrent", "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, net", "periodEndLabel": "Total operating lease right-of-use asset, ending", "periodStartLabel": "Operating lease right-of-use assets, beginning" } } }, "localname": "OperatingLeaseRightOfUseAsset", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OperatingLeaseRightOfUseAssetAmortizationExpense": { "auth_ref": [ "r75" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of amortization expense for right-of-use asset from operating lease.", "label": "Right of use amortization", "negatedLabel": "Amortization" } } }, "localname": "OperatingLeaseRightOfUseAssetAmortizationExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfBalanceSheetClassificationOfLeaseAssetsAndLiabilitiesDetails", "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock": { "auth_ref": [ "r89", "r103", "r137", "r337" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for the general note to the financial statements for the reporting entity which may include, descriptions of the basis of presentation, business description, significant accounting policies, consolidations, reclassifications, new pronouncements not yet adopted and changes in accounting principles.", "label": "Organization and Significant Accounting Policies" } } }, "localname": "OrganizationConsolidationBasisOfPresentationBusinessDescriptionAndAccountingPoliciesTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_OtherAssetsNoncurrent": { "auth_ref": [ "r15" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 5.0, "parentTag": "us-gaap_AssetsNoncurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of noncurrent assets classified as other.", "label": "Other assets, long-term" } } }, "localname": "OtherAssetsNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/InventoryDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherBorrowings": { "auth_ref": [ "r398" ], "calculation": { "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 3.0, "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The carrying amount as of the balance sheet date for the aggregate of other miscellaneous borrowings owed by the reporting entity.", "label": "Miscellaneous payable" } } }, "localname": "OtherBorrowings", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherLiabilitiesNoncurrent": { "auth_ref": [ "r44" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 4.0, "parentTag": "us-gaap_LiabilitiesNoncurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.", "label": "Other long term liabilities" } } }, "localname": "OtherLiabilitiesNoncurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingExpense": { "auth_ref": [ "r64" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "order": 2.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": -1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense related to nonoperating activities, classified as other.", "label": "Other Nonoperating Expense", "negatedLabel": "Other expense" } } }, "localname": "OtherNonoperatingExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncome": { "auth_ref": [ "r59" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_NonoperatingIncomeExpense", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount of income related to nonoperating activities, classified as other.", "label": "Other income" } } }, "localname": "OtherNonoperatingIncome", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_OtherNonoperatingIncomeExpenseAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Other income (expense):" } } }, "localname": "OtherNonoperatingIncomeExpenseAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_PatentsMember": { "auth_ref": [ "r332" ], "lang": { "en-us": { "role": { "documentation": "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.", "label": "Patents [Member]" } } }, "localname": "PatentsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "domainItemType" }, "us-gaap_PayablesAndAccrualsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Payables and Accruals [Abstract]" } } }, "localname": "PayablesAndAccrualsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PaymentsForRent": { "auth_ref": [ "r72" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Cash payments to lessor's for use of assets under operating leases.", "label": "Rent expenses" } } }, "localname": "PaymentsForRent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/LeasesDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquireIntangibleAssets": { "auth_ref": [ "r65" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow to acquire asset without physical form usually arising from contractual or other legal rights, excluding goodwill.", "label": "Payments to Acquire Intangible Assets", "negatedLabel": "Purchase of intangible assets" } } }, "localname": "PaymentsToAcquireIntangibleAssets", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "auth_ref": [ "r65" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "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": "Payment to acquire assets", "negatedLabel": "Purchase of property and equipment" } } }, "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative", "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_PlanNameAxis": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Information by plan name for share-based payment arrangement.", "label": "Plan Name [Axis]" } } }, "localname": "PlanNameAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative", "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_PlanNameDomain": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Plan name for share-based payment arrangement." } } }, "localname": "PlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative", "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockMember": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Preferred shares may provide a preferential dividend to the dividend on common stock and may take precedence over common stock in the event of a liquidation. Preferred shares typically represent an ownership interest in the company.", "label": "Preferred Stock [Member]" } } }, "localname": "PreferredStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "auth_ref": [ "r22", "r244" ], "lang": { "en-us": { "role": { "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer.", "label": "Preferred stock, par value" } } }, "localname": "PreferredStockParOrStatedValuePerShare", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "perShareItemType" }, "us-gaap_PreferredStockSharesAuthorized": { "auth_ref": [ "r22" ], "lang": { "en-us": { "role": { "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws.", "label": "Preferred stock, shares authorized" } } }, "localname": "PreferredStockSharesAuthorized", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesIssued": { "auth_ref": [ "r22", "r244" ], "lang": { "en-us": { "role": { "documentation": "Total number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) issued to shareholders (includes related preferred shares that were issued, repurchased, and remain in the treasury). May be all or portion of the number of preferred shares authorized. Excludes preferred shares that are classified as debt.", "label": "Preferred stock, shares issued" } } }, "localname": "PreferredStockSharesIssued", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockSharesOutstanding": { "auth_ref": [ "r22" ], "lang": { "en-us": { "role": { "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased.", "label": "Preferred stock, shares outstanding" } } }, "localname": "PreferredStockSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheetsParenthetical" ], "xbrltype": "sharesItemType" }, "us-gaap_PreferredStockValue": { "auth_ref": [ "r22", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Aggregate par or stated value of issued nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable preferred shares, par value and other disclosure concepts are in another section within stockholders' equity.", "label": "Preferred stock $0.0001 par value; 2,500,000 authorized; no shares issued or outstanding" } } }, "localname": "PreferredStockValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "auth_ref": [ "r33" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "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 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 expenses and other current assets" } } }, "localname": "PrepaidExpenseAndOtherAssetsCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromLoans": { "auth_ref": [ "r70" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Cash received from principal payments made on loans related to operating activities.", "label": "Proceeds from bank loan" } } }, "localname": "ProceedsFromLoans", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProceedsFromStockOptionsExercised": { "auth_ref": [ "r66", "r320" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "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 exrercised", "verboseLabel": "Stock options exercised" } } }, "localname": "ProceedsFromStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows", "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ProductInformationLineItems": { "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": "Product Information [Line Items]" } } }, "localname": "ProductInformationLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ProductWarrantyAccrualClassifiedCurrent": { "auth_ref": [ "r39", "r193", "r194" ], "calculation": { "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 1.0, "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "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": "Manufacturer\u2019s warranties" } } }, "localname": "ProductWarrantyAccrualClassifiedCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Abstract]" } } }, "localname": "PropertyPlantAndEquipmentAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "auth_ref": [ "r180" ], "lang": { "en-us": { "role": { "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale.", "label": "Long-Lived Tangible Asset [Axis]" } } }, "localname": "PropertyPlantAndEquipmentByTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative", "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "auth_ref": [ "r182", "r434", "r435", "r436" ], "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 and Equipment" } } }, "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/PropertyAndEquipment" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentGross": { "auth_ref": [ "r12", "r178" ], "calculation": { "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails": { "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": "Total property and equipment" } } }, "localname": "PropertyPlantAndEquipmentGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "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]" } } }, "localname": "PropertyPlantAndEquipmentLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_PropertyPlantAndEquipmentNet": { "auth_ref": [ "r180", "r377", "r405", "r412" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 1.0, "parentTag": "us-gaap_AssetsNoncurrent", "weight": 1.0 }, "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails": { "order": null, "parentTag": null, "root": true, "weight": null } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.", "label": "Property and equipment, net", "totalLabel": "Property and equipment, net" } } }, "localname": "PropertyPlantAndEquipmentNet", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "auth_ref": [ "r180" ], "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": "Schedule of Property and Equipment" } } }, "localname": "PropertyPlantAndEquipmentTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/PropertyAndEquipmentTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "auth_ref": [ "r178" ], "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." } } }, "localname": "PropertyPlantAndEquipmentTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative", "http://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "domainItemType" }, "us-gaap_RelatedPartyTransactionsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Related Party Transactions [Abstract]" } } }, "localname": "RelatedPartyTransactionsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_RelatedPartyTransactionsDisclosureTextBlock": { "auth_ref": [ "r369", "r370", "r371", "r373", "r374" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for related party transactions. Examples of related party transactions include transactions between (a) a parent company and its subsidiary; (b) subsidiaries of a common parent; (c) and entity and its principal owners; and (d) affiliates.", "label": "Related Party Transactions" } } }, "localname": "RelatedPartyTransactionsDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactions" ], "xbrltype": "textBlockItemType" }, "us-gaap_RepaymentsOfLongTermDebt": { "auth_ref": [ "r67" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 1.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer.", "label": "Repayments of Long-Term Debt", "negatedLabel": "Principal payments of debt" } } }, "localname": "RepaymentsOfLongTermDebt", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_RepaymentsOfNotesPayable": { "auth_ref": [ "r67" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 3.0, "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "The cash outflow for a borrowing supported by a written promise to pay an obligation.", "label": "Repayments of Notes Payable", "negatedLabel": "Note payable-PPP Loan" } } }, "localname": "RepaymentsOfNotesPayable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ResearchAndDevelopmentExpense": { "auth_ref": [ "r324", "r389", "r448" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "order": 2.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" } } }, "localname": "ResearchAndDevelopmentExpense", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "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": "Restricted Stock Units (RSUs) [Member]" } } }, "localname": "RestrictedStockUnitsRSUMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "auth_ref": [ "r25", "r267", "r377", "r410", "r427", "r428" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 4.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" } } }, "localname": "RetainedEarningsAccumulatedDeficit", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_RetainedEarningsMember": { "auth_ref": [ "r0", "r90", "r91", "r92", "r94", "r100", "r102", "r162", "r321", "r322", "r323", "r328", "r329", "r345", "r424", "r426" ], "lang": { "en-us": { "role": { "documentation": "The cumulative amount of the reporting entity's undistributed earnings or deficit.", "label": "Retained Earnings [Member]" } } }, "localname": "RetainedEarningsMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "auth_ref": [ "r138", "r139", "r143", "r148", "r149", "r153", "r154", "r156", "r272", "r273", "r390" ], "calculation": { "http://virtra.com/role/StatementsOfOperations": { "order": 1.0, "parentTag": "us-gaap_GrossProfit", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.", "label": "Total revenue", "terseLabel": "Revenue", "verboseLabel": "Total Revenue" } } }, "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative", "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "monetaryItemType" }, "us-gaap_RevenueFromContractWithCustomerMember": { "auth_ref": [ "r132", "r156" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue from Contract with Customer Benchmark [Member]" } } }, "localname": "RevenueFromContractWithCustomerMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueFromContractWithCustomerProductAndServiceBenchmarkMember": { "auth_ref": [ "r131" ], "lang": { "en-us": { "role": { "documentation": "Revenue from satisfaction of performance obligation by transferring promised product and service to customer for specified product or service, when it serves as benchmark in concentration of risk calculation.", "label": "Revenue from Contract with Customer, Product and Service Benchmark [Member]" } } }, "localname": "RevenueFromContractWithCustomerProductAndServiceBenchmarkMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_RevenueRecognitionPolicyTextBlock": { "auth_ref": [ "r80", "r81" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for revenue. Includes revenue from contract with customer and from other sources.", "label": "Revenue Recognition" } } }, "localname": "RevenueRecognitionPolicyTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_RevenuesAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Revenues:" } } }, "localname": "RevenuesAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_SalariesWagesAndOfficersCompensation": { "auth_ref": [], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of expense for salary and wage arising from service rendered by nonofficer and officer employees. Excludes allocated cost, labor-related nonsalary expense, and direct and overhead labor cost included in cost of good and service sold.", "label": "Salaries wages and officers compensation" } } }, "localname": "SalariesWagesAndOfficersCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the components of accrued liabilities.", "label": "Schedule of Accrued Compensation and Related Costs" } } }, "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/AccruedExpensesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDebtTableTextBlock": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of information pertaining to short-term and long-debt instruments or arrangements, including but not limited to identification of terms, features, collateral requirements and other information necessary to a fair presentation.", "label": "Schedule of Notes Payable" } } }, "localname": "ScheduleOfDebtTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable": { "auth_ref": [ "r279", "r282" ], "lang": { "en-us": { "role": { "documentation": "Schedule, table or text reflecting arrangements that are not equity-based payments, or pension and other postretirement benefits, with individual employees. The arrangements (for example, profit sharing, deferred bonuses or certain split-dollar life insurance arrangements) are generally based on employment contracts between the entity and one or more selected officers or key employees, and which contain a promise by the employer to pay certain amounts at designated future dates, sometimes including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period and the carrying amount as of the balance sheet date of the related liability.", "label": "Schedule of Deferred Compensation Arrangement with Individual, Excluding Share-Based Payments and Postretirement Benefits, by Title of Individual and by Type of Deferred Compensation [Table]" } } }, "localname": "ScheduleOfDeferredCompensationArrangementWithIndividualExcludingShareBasedPaymentsAndPostretirementBenefitsByTitleOfIndividualAndByTypeOfDeferredCompensationTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "auth_ref": [ "r115" ], "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" } } }, "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "auth_ref": [ "r169", "r172", "r391" ], "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://virtra.com/role/ScheduleOfIntangibleAssetDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock": { "auth_ref": [ "r166" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of goodwill and intangible assets, which may be broken down by segment or major class.", "label": "Schedule of Intangible Asset" } } }, "localname": "ScheduleOfIntangibleAssetsAndGoodwillTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/IntangibleAssetTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": { "auth_ref": [ "r7", "r29", "r30", "r31" ], "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" } } }, "localname": "ScheduleOfInventoryCurrentTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/InventoryTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfProductInformationTable": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Schedule detailing quantitative information concerning products or product lines by product or product line.", "label": "Schedule of Product Information [Table]" } } }, "localname": "ScheduleOfProductInformationTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "auth_ref": [ "r180" ], "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://virtra.com/role/ScheduleOfPropertyAndEquipmentDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "auth_ref": [ "r287", "r288", "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "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://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock": { "auth_ref": [ "r292", "r307", "r310" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure for stock option plans. Includes, but is not limited to, outstanding awards at beginning and end of year, grants, exercises, forfeitures, and weighted-average grant date fair value.", "label": "Schedule of Non-qualified Stock Options" } } }, "localname": "ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityTables" ], "xbrltype": "textBlockItemType" }, "us-gaap_ScheduleOfShortTermDebtTable": { "auth_ref": [ "r36" ], "lang": { "en-us": { "role": { "documentation": "A table or schedule providing information pertaining to borrowings under which repayment was required in less than twelve months (or normal operating cycle, if longer) after its issuance. It may include: (1) description of the short-term debt arrangement; (2) identification of the lender or type of lender; (3) repayment terms; (4) weighted average interest rate; (5) carrying amount of funds borrowed under the specified short-term debt arrangement as of the balance sheet date and measures of the maximum and average amount outstanding during the period; (6) description of the refinancing of a short-term obligation when that obligation is excluded from current liabilities in the balance sheet; and (7) amount of a short-term obligation that has been excluded from current liabilities in the balance sheet because of a refinancing of the obligation.", "label": "Schedule of Short-Term Debt [Table]" } } }, "localname": "ScheduleOfShortTermDebtTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative", "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ScheduleOfStockByClassTable": { "auth_ref": [ "r21", "r22", "r23", "r83", "r122", "r123", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r249", "r253", "r258", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267" ], "lang": { "en-us": { "role": { "documentation": "Schedule detailing information related to equity by class of stock. Class of stock includes common, convertible, and preferred stocks which are not redeemable or redeemable solely at the option of the issuer. It also includes preferred stock with redemption features that are solely within the control of the issuer and mandatorily redeemable stock if redemption is required to occur only upon liquidation or termination of the reporting entity.", "label": "Schedule of Stock by Class [Table]" } } }, "localname": "ScheduleOfStockByClassTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensation": { "auth_ref": [ "r74" ], "calculation": { "http://virtra.com/role/StatementsOfCashFlows": { "order": 4.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": "Employee stock compensation" } } }, "localname": "ShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights": { "auth_ref": [ "r289" ], "lang": { "en-us": { "role": { "documentation": "Description of service or performance condition required to be met for earning right to award under share-based payment arrangement. Includes, but is not limited to, combination of market, performance or service condition.", "label": "Restricted stock units vesting, description" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingRights", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "stringItemType" }, "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]" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Number", "periodEndLabel": "Number of Stock Options, Options exercisable, end of period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice": { "auth_ref": [ "r295" ], "lang": { "en-us": { "role": { "documentation": "The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercisable, Weighted Average Exercise Price", "periodEndLabel": "Weighted Exercise Price, Options exercisable, end of period" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue": { "auth_ref": [ "r309" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount of accumulated difference between fair value of underlying shares on dates of exercise and exercise price on options exercised (or share units converted) into shares.", "label": "Intriinsic value" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod": { "auth_ref": [ "r300" ], "lang": { "en-us": { "role": { "documentation": "Number of options or other stock instruments for which the right to exercise has lapsed under the terms of the plan agreements.", "label": "Number of Stock Options, Expired / terminated" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross": { "auth_ref": [ "r297" ], "lang": { "en-us": { "role": { "documentation": "Gross number of share options (or share units) granted during the period.", "label": "Number of Stock Options, Granted" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber": { "auth_ref": [ "r293", "r294" ], "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": "Number of Stock Options, Options outstanding, end of period", "periodStartLabel": "Number of Stock Options, Options outstanding, beginning of year" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "sharesItemType" }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice": { "auth_ref": [ "r293", "r294" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Outstanding, Weighted Average Exercise Price", "periodEndLabel": "Weighted Exercise Price, Option outstanding end of period", "periodStartLabel": "Weighted Exercise Price, Option outstanding, beginning of year" } } }, "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Award under share-based payment arrangement." } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r298" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which option holders acquired shares when converting their stock options into shares.", "label": "Weighted Exercise Price, Exercised" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r300" ], "lang": { "en-us": { "role": { "documentation": "Weighted average price at which grantees could have acquired the underlying shares with respect to stock options of the plan that expired.", "label": "Weighted Exercise Price, Expired / terminated" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice": { "auth_ref": [ "r297" ], "lang": { "en-us": { "role": { "documentation": "Weighted average per share amount at which grantees can acquire shares of common stock by exercise of options.", "label": "Weighted Exercise Price, Granted" } } }, "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails" ], "xbrltype": "perShareItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1": { "auth_ref": [ "r319" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for vested portions of options outstanding and currently exercisable or convertible, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Options exercisable weighted average contractual term" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "durationItemType" }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2": { "auth_ref": [ "r311" ], "lang": { "en-us": { "role": { "documentation": "Weighted average remaining contractual term for option awards outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days.", "label": "Options outstanding weighted average contractual term" } } }, "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "durationItemType" }, "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 balance, shares", "periodStartLabel": "Beginning balance, shares" } } }, "localname": "SharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_ShortTermDebtLineItems": { "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": "Short-Term Debt [Line Items]" } } }, "localname": "ShortTermDebtLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/NotePayableDetailsNarrative", "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShortTermDebtTypeAxis": { "auth_ref": [ "r36" ], "lang": { "en-us": { "role": { "documentation": "Information by type of short-term debt arrangement.", "label": "Short-Term Debt, Type [Axis]" } } }, "localname": "ShortTermDebtTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "stringItemType" }, "us-gaap_ShortTermDebtTypeDomain": { "auth_ref": [ "r34" ], "lang": { "en-us": { "role": { "documentation": "Type of short-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing." } } }, "localname": "ShortTermDebtTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfNotesPayableDetails" ], "xbrltype": "domainItemType" }, "us-gaap_StandardProductWarrantyPolicy": { "auth_ref": [ "r195" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for standard warranties including the methodology for measuring the liability.", "label": "Warranty" } } }, "localname": "StandardProductWarrantyPolicy", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_StatementClassOfStockAxis": { "auth_ref": [ "r21", "r22", "r23", "r83", "r86", "r106", "r110", "r111", "r113", "r115", "r122", "r123", "r124", "r161", "r198", "r202", "r203", "r204", "r207", "r208", "r244", "r245", "r249", "r253", "r260", "r351", "r467" ], "lang": { "en-us": { "role": { "documentation": "Information by the different classes of stock of the entity.", "label": "Class of Stock [Axis]" } } }, "localname": "StatementClassOfStockAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/BalanceSheetsParenthetical", "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_StatementEquityComponentsAxis": { "auth_ref": [ "r0", "r47", "r53", "r54", "r55", "r90", "r91", "r92", "r94", "r100", "r102", "r121", "r162", "r260", "r267", "r321", "r322", "r323", "r328", "r329", "r345", "r353", "r354", "r355", "r356", "r357", "r358", "r368", "r424", "r425", "r426" ], "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://virtra.com/role/RelatedPartyTransactionsDetailsNarrative", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "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]" } } }, "localname": "StatementLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/BalanceSheetsParenthetical", "http://virtra.com/role/InventoryDetailsNarrative", "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_StatementOfCashFlowsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Statement of Cash Flows [Abstract]" } } }, "localname": "StatementOfCashFlowsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfFinancialPositionAbstract": { "auth_ref": [], "localname": "StatementOfFinancialPositionAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementOfStockholdersEquityAbstract": { "auth_ref": [], "localname": "StatementOfStockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_StatementTable": { "auth_ref": [ "r90", "r91", "r92", "r121", "r390" ], "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://virtra.com/role/BalanceSheets", "http://virtra.com/role/BalanceSheetsParenthetical", "http://virtra.com/role/InventoryDetailsNarrative", "http://virtra.com/role/ScheduleOfDisaggregationOfRevenuesDetails", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "stringItemType" }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "auth_ref": [ "r22", "r23", "r260", "r267" ], "lang": { "en-us": { "role": { "documentation": "Number of new stock issued during the period.", "label": "Stock issued during the period, new issues" } } }, "localname": "StockIssuedDuringPeriodSharesNewIssues", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures": { "auth_ref": [ "r22", "r23", "r260", "r267" ], "lang": { "en-us": { "role": { "documentation": "Number of shares issued during the period related to Restricted Stock Awards, net of any shares forfeited.", "label": "Stock issued during period shares restricted stock, shares" } } }, "localname": "StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative", "http://virtra.com/role/StockholdersEquityDetailsNarrative", "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "auth_ref": [ "r22", "r23", "r260", "r267" ], "lang": { "en-us": { "role": { "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP).", "label": "Stock issued during period shares based compensation, shares" } } }, "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": { "auth_ref": [ "r22", "r23", "r260", "r267", "r298" ], "lang": { "en-us": { "role": { "documentation": "Number of share options (or share units) exercised during the current period.", "label": "Stock options exercised, shares", "negatedLabel": "Number of Stock Options, Exercised", "verboseLabel": "Stock option exercised" } } }, "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative", "http://virtra.com/role/ScheduleOfNon-qualifiedStockOptionsDetails", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "sharesItemType" }, "us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised": { "auth_ref": [ "r47", "r260", "r267" ], "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Value of stock issued as a result of the exercise of stock options.", "label": "Stock options exercised" } } }, "localname": "StockIssuedDuringPeriodValueStockOptionsExercised", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockRedeemedOrCalledDuringPeriodShares": { "auth_ref": [ "r260" ], "lang": { "en-us": { "role": { "documentation": "Number of stock bought back by the entity at the exercise price or redemption price.", "label": "Stock reedemed or called during period shares" } } }, "localname": "StockRedeemedOrCalledDuringPeriodShares", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/RelatedPartyTransactionsDetailsNarrative" ], "xbrltype": "sharesItemType" }, "us-gaap_StockRepurchasedDuringPeriodValue": { "auth_ref": [ "r22", "r23", "r260", "r267" ], "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock.", "label": "Stock repurchased during period, value" } } }, "localname": "StockRepurchasedDuringPeriodValue", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquityDetailsNarrative" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquity": { "auth_ref": [ "r23", "r26", "r27", "r86", "r160", "r161", "r351", "r377" ], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 3.0, "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.", "label": "Stockholders' Equity Attributable to Parent", "periodEndLabel": "Ending balance, value", "periodStartLabel": "Beginning balance, value", "totalLabel": "Total stockholders\u2019 equity" } } }, "localname": "StockholdersEquity", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets", "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "monetaryItemType" }, "us-gaap_StockholdersEquityAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Stockholders\u2019 equity:" } } }, "localname": "StockholdersEquityAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "stringItemType" }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "auth_ref": [ "r84", "r245", "r248", "r249", "r250", "r251", "r252", "r253", "r254", "r255", "r256", "r257", "r259", "r267", "r269", "r344" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for shareholders' equity comprised of portions attributable to the parent entity and noncontrolling interest, including other comprehensive income. Includes, but is not limited to, balances of common stock, preferred stock, additional paid-in capital, other capital and retained earnings, accumulated balance for each classification of other comprehensive income and amount of comprehensive income.", "label": "Stockholders\u2019 Equity" } } }, "localname": "StockholdersEquityNoteDisclosureTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StockholdersEquity" ], "xbrltype": "textBlockItemType" }, "us-gaap_SubsequentEventLineItems": { "auth_ref": [], "lang": { "en-us": { "role": { "documentation": "Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.", "label": "Subsequent Event [Line Items]" } } }, "localname": "SubsequentEventLineItems", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventMember": { "auth_ref": [ "r359", "r379" ], "lang": { "en-us": { "role": { "documentation": "Identifies event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event [Member]" } } }, "localname": "SubsequentEventMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventTable": { "auth_ref": [ "r359", "r379" ], "lang": { "en-us": { "role": { "documentation": "Discloses pertinent information about one or more significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued.", "label": "Subsequent Event [Table]" } } }, "localname": "SubsequentEventTable", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeAxis": { "auth_ref": [ "r359", "r379" ], "lang": { "en-us": { "role": { "documentation": "Information by event that occurred after the balance sheet date but before financial statements are issued or available to be issued.", "label": "Subsequent Event Type [Axis]" } } }, "localname": "SubsequentEventTypeAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventTypeDomain": { "auth_ref": [ "r359", "r379" ], "lang": { "en-us": { "role": { "documentation": "Event that occurred after the balance sheet date but before financial statements are issued or available to be issued." } } }, "localname": "SubsequentEventTypeDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEventsDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_SubsequentEventsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Subsequent Events [Abstract]" } } }, "localname": "SubsequentEventsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "xbrltype": "stringItemType" }, "us-gaap_SubsequentEventsTextBlock": { "auth_ref": [ "r378", "r380" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.", "label": "Subsequent Events" } } }, "localname": "SubsequentEventsTextBlock", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/SubsequentEvents" ], "xbrltype": "textBlockItemType" }, "us-gaap_SupplementalCashFlowElementsAbstract": { "auth_ref": [], "lang": { "en-us": { "role": { "label": "Supplemental disclosure of cash flow information:" } } }, "localname": "SupplementalCashFlowElementsAbstract", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfCashFlows" ], "xbrltype": "stringItemType" }, "us-gaap_TaxesPayableCurrent": { "auth_ref": [ "r37" ], "calculation": { "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails": { "order": 2.0, "parentTag": "us-gaap_AccountsPayableAndOtherAccruedLiabilitiesCurrent", "weight": 1.0 } }, "crdr": "credit", "lang": { "en-us": { "role": { "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).", "label": "Taxes payable" } } }, "localname": "TaxesPayableCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfAccruedExpensesAndOtherCurrentLiabilitiesDetails" ], "xbrltype": "monetaryItemType" }, "us-gaap_TreasuryStockMember": { "auth_ref": [ "r46", "r268" ], "lang": { "en-us": { "role": { "documentation": "Shares of an entity that have been repurchased by the entity. This stock has no voting rights and receives no dividends. Note that treasury stock may be recorded at its total cost or separately as par (or stated) value and additional paid in capital. Classified within stockholders' equity if nonredeemable or redeemable solely at the option of the issuer. Classified within temporary equity if redemption is outside the control of the issuer.", "label": "Treasury Stock [Member]" } } }, "localname": "TreasuryStockMember", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/StatementsOfChangesInStockholdersEquity" ], "xbrltype": "domainItemType" }, "us-gaap_UnbilledReceivablesCurrent": { "auth_ref": [], "calculation": { "http://virtra.com/role/BalanceSheets": { "order": 4.0, "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0 } }, "crdr": "debit", "lang": { "en-us": { "role": { "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer.", "label": "Unbilled revenue" } } }, "localname": "UnbilledReceivablesCurrent", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/BalanceSheets" ], "xbrltype": "monetaryItemType" }, "us-gaap_UseOfEstimates": { "auth_ref": [ "r125", "r126", "r128", "r129", "r134", "r135", "r136" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.", "label": "Use of Estimates" } } }, "localname": "UseOfEstimates", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/OrganizationAndSignificantAccountingPoliciesPolicies" ], "xbrltype": "textBlockItemType" }, "us-gaap_VestingAxis": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Information by vesting schedule of award under share-based payment arrangement.", "label": "Vesting [Axis]" } } }, "localname": "VestingAxis", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "stringItemType" }, "us-gaap_VestingDomain": { "auth_ref": [ "r289", "r290", "r291", "r293", "r294", "r295", "r296", "r297", "r298", "r299", "r300", "r301", "r302", "r303", "r304", "r305", "r306", "r308", "r309", "r311", "r312", "r313", "r314", "r315", "r316", "r317" ], "lang": { "en-us": { "role": { "documentation": "Vesting schedule of award under share-based payment arrangement." } } }, "localname": "VestingDomain", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/CommitmentsAndContingenciesDetailsNarrative" ], "xbrltype": "domainItemType" }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "auth_ref": [ "r105", "r115" ], "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 common stock outstanding diluted", "verboseLabel": "Diluted" } } }, "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfEarningsPerShareDetails", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "sharesItemType" }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "auth_ref": [ "r104", "r115" ], "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 common stock outstanding", "verboseLabel": "Basic" } } }, "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "nsuri": "http://fasb.org/us-gaap/2022", "presentation": [ "http://virtra.com/role/ScheduleOfEarningsPerShareDetails", "http://virtra.com/role/StatementsOfOperations" ], "xbrltype": "sharesItemType" } }, "unitCount": 4 } }, "std_ref": { "r0": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "65", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "105", "URI": "https://asc.fasb.org/extlink&oid=126987489&loc=SL124442142-165695" }, "r1": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "205", "URI": "https://asc.fasb.org/extlink&oid=109222650&loc=SL51721683-107760" }, "r10": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(26))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r100": { "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" }, "r101": { "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" }, "r102": { "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" }, "r103": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "250", "URI": "https://asc.fasb.org/topic&trid=2122394" }, "r104": { "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" }, "r105": { "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" }, "r106": { "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" }, "r107": { "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" }, "r108": { "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" }, "r109": { "Name": "Accounting Standards Codification", "Paragraph": "26", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1828-109256" }, "r11": { "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" }, "r110": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e1278-109256" }, "r111": { "Name": "Accounting Standards Codification", "Paragraph": "55", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "260", "URI": "https://asc.fasb.org/extlink&oid=126958026&loc=d3e2626-109256" }, "r112": { "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" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "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" }, "r117": { "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" }, "r118": { "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" }, "r119": { "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" }, "r12": { "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" }, "r120": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "270", "URI": "https://asc.fasb.org/extlink&oid=126900757&loc=d3e777-108305" }, "r121": { "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" }, "r122": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=125520817&loc=d3e70229-108054" }, "r123": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70434-108055" }, "r124": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "272", "URI": "https://asc.fasb.org/extlink&oid=6373374&loc=d3e70478-108055" }, "r125": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r126": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e5967-108592" }, "r127": { "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" }, "r128": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6161-108592" }, "r129": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6191-108592" }, "r13": { "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" }, "r130": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r131": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r132": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6351-108592" }, "r133": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6404-108592" }, "r134": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6061-108592" }, "r135": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6132-108592" }, "r136": { "Name": "Accounting Standards Codification", "Paragraph": "9", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "275", "URI": "https://asc.fasb.org/extlink&oid=99393423&loc=d3e6143-108592" }, "r137": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "275", "URI": "https://asc.fasb.org/topic&trid=2134479" }, "r138": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r139": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r14": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(16))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r140": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r141": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r142": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599" }, "r143": { "Name": "Accounting Standards Codification", "Paragraph": "30", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "280", "URI": "https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "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" }, "r148": { "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" }, "r149": { "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" }, "r15": { "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" }, "r150": { "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" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "310", "URI": "https://asc.fasb.org/extlink&oid=124259787&loc=d3e4647-111522" }, "r158": { "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" }, "r159": { "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" }, "r16": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "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" }, "r163": { "Name": "Accounting Standards Codification", "Paragraph": "12", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Subparagraph": "(e)(2)", "Topic": "326", "URI": "https://asc.fasb.org/extlink&oid=124267575&loc=SL82921835-210448" }, "r164": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SAB TOPIC 5.BB)", "Topic": "330", "URI": "https://asc.fasb.org/extlink&oid=27011343&loc=d3e100047-122729" }, "r165": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "330", "URI": "https://asc.fasb.org/topic&trid=2126998" }, "r166": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267" }, "r167": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=6388964&loc=d3e16212-109274" }, "r168": { "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" }, "r169": { "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" }, "r17": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(19))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r170": { "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" }, "r171": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "((a)(1),(b))", "Topic": "350", "URI": "https://asc.fasb.org/extlink&oid=66006027&loc=d3e16323-109275" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "SubTopic": "30", "Topic": "350", "URI": "https://asc.fasb.org/subtopic&trid=2144471" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r18": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "360", "URI": "https://asc.fasb.org/topic&trid=2155823" }, "r183": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Subparagraph": "(c)", "Topic": "410", "URI": "https://asc.fasb.org/extlink&oid=6393242&loc=d3e13237-110859" }, "r184": { "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" }, "r185": { "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" }, "r186": { "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" }, "r187": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "440", "URI": "https://asc.fasb.org/topic&trid=2144648" }, "r188": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=121557415&loc=d3e14435-108349" }, "r189": { "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" }, "r19": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(22))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r190": { "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" }, "r191": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "20", "Subparagraph": "(SAB Topic 5.Y.Q4)", "Topic": "450", "URI": "https://asc.fasb.org/extlink&oid=27011672&loc=d3e149879-122751" }, "r192": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "450", "URI": "https://asc.fasb.org/topic&trid=2127136" }, "r193": { "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" }, "r194": { "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" }, "r195": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "460", "URI": "https://asc.fasb.org/extlink&oid=126907703&loc=d3e12565-110249" }, "r196": { "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" }, "r197": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123465755&loc=SL6230698-112601" }, "r198": { "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" }, "r199": { "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" }, "r2": { "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" }, "r20": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(23))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r200": { "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" }, "r201": { "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" }, "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" }, "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" }, "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" }, "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" }, "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" }, "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" }, "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" }, "r209": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r21": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02(27)(b))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r210": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r211": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r212": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r213": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(e)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r214": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(f)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r215": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(g)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r216": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(h)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r217": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(i)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r218": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495323-112611" }, "r219": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r22": { "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" }, "r220": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r221": { "Name": "Accounting Standards Codification", "Paragraph": "1C", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495334-112611" }, "r222": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r223": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r224": { "Name": "Accounting Standards Codification", "Paragraph": "1D", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495340-112611" }, "r225": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r226": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r227": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r228": { "Name": "Accounting Standards Codification", "Paragraph": "1E", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495348-112611" }, "r229": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r23": { "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" }, "r230": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r231": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r232": { "Name": "Accounting Standards Codification", "Paragraph": "1F", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495355-112611" }, "r233": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(a)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r234": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r235": { "Name": "Accounting Standards Codification", "Paragraph": "1I", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466505&loc=SL123495371-112611" }, "r236": { "Name": "Accounting Standards Codification", "Paragraph": "69B", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495735-112612" }, "r237": { "Name": "Accounting Standards Codification", "Paragraph": "69C", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495737-112612" }, "r238": { "Name": "Accounting Standards Codification", "Paragraph": "69E", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495743-112612" }, "r239": { "Name": "Accounting Standards Codification", "Paragraph": "69F", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "470", "URI": "https://asc.fasb.org/extlink&oid=123466577&loc=SL123495745-112612" }, "r24": { "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" }, "r240": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "470", "URI": "https://asc.fasb.org/topic&trid=2208564" }, "r241": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(CFRR 211.02)", "Topic": "480", "URI": "https://asc.fasb.org/extlink&oid=122040564&loc=d3e177068-122764" }, "r242": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=65888546&loc=d3e21300-112643" }, "r243": { "Name": "Accounting Standards Codification", "Paragraph": "10", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21553-112644" }, "r244": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r245": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r246": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r247": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r248": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r249": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(h)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r25": { "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" }, "r250": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(i)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r251": { "Name": "Accounting Standards Codification", "Paragraph": "13", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496158-112644" }, "r252": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644" }, "r253": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644" }, "r254": { "Name": "Accounting Standards Codification", "Paragraph": "14", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496171-112644" }, "r255": { "Name": "Accounting Standards Codification", "Paragraph": "16", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496180-112644" }, "r256": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644" }, "r257": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644" }, "r258": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644" }, "r259": { "Name": "Accounting Standards Codification", "Paragraph": "18", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=SL123496189-112644" }, "r26": { "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" }, "r260": { "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" }, "r261": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21475-112644" }, "r262": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21484-112644" }, "r263": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21488-112644" }, "r264": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21506-112644" }, "r265": { "Name": "Accounting Standards Codification", "Paragraph": "7", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21521-112644" }, "r266": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=126973232&loc=d3e21538-112644" }, "r267": { "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" }, "r268": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "505", "URI": "https://asc.fasb.org/extlink&oid=6405813&loc=d3e23239-112655" }, "r269": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "505", "URI": "https://asc.fasb.org/topic&trid=2208762" }, "r27": { "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" }, "r270": { "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" }, "r271": { "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" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "606", "URI": "https://asc.fasb.org/extlink&oid=126920106&loc=SL49130549-203045" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "Name": "Accounting Standards Codification", "Paragraph": "11", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "710", "URI": "https://asc.fasb.org/extlink&oid=6409733&loc=d3e19524-108361" }, "r28": { "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" }, "r280": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "710", "URI": "https://asc.fasb.org/extlink&oid=123585891&loc=d3e19793-108362" }, "r281": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "25", "SubTopic": "10", "Topic": "710", "URI": "https://asc.fasb.org/extlink&oid=6409733&loc=d3e19396-108361" }, "r282": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "30", "SubTopic": "10", "Topic": "710", "URI": "https://asc.fasb.org/extlink&oid=6409875&loc=d3e20015-108363" }, "r283": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "30", "SubTopic": "10", "Topic": "710", "URI": "https://asc.fasb.org/extlink&oid=6409875&loc=d3e20028-108363" }, "r284": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(d)(i)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=123447040&loc=d3e1928-114920" }, "r285": { "Name": "Accounting Standards Codification", "Paragraph": "5", "Publisher": "FASB", "Section": "50", "SubTopic": "80", "Subparagraph": "(d)", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=65877416&loc=SL14450657-114947" }, "r286": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "80", "Topic": "715", "URI": "https://asc.fasb.org/extlink&oid=35742348&loc=SL14450788-114948" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r29": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r293": { "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" }, "r294": { "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" }, "r295": { "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" }, "r296": { "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" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r3": { "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" }, "r30": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "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" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r31": { "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" }, "r310": { "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" }, "r311": { "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" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "718", "URI": "https://asc.fasb.org/extlink&oid=128089324&loc=d3e5070-113901" }, "r32": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r33": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "Name": "Accounting Standards Codification", "Paragraph": "38", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "805", "URI": "https://asc.fasb.org/extlink&oid=123410050&loc=d3e5504-128473" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "810", "URI": "https://asc.fasb.org/topic&trid=2197479" }, "r338": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r339": { "Name": "Accounting Standards Codification", "Paragraph": "4A", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5618551-113959" }, "r34": { "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" }, "r340": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(c)(1)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r341": { "Name": "Accounting Standards Codification", "Paragraph": "4B", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624163-113959" }, "r342": { "Name": "Accounting Standards Codification", "Paragraph": "4C", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624171-113959" }, "r343": { "Name": "Accounting Standards Codification", "Paragraph": "4D", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=125515794&loc=SL5624177-113959" }, "r344": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(a)", "Topic": "815", "URI": "https://asc.fasb.org/extlink&oid=126731327&loc=SL126733271-114008" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(bbb)(2)", "Topic": "820", "URI": "https://asc.fasb.org/extlink&oid=126976982&loc=d3e19207-110258" }, "r349": { "Name": "Accounting Standards Codification", "Paragraph": "20", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13531-108611" }, "r35": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r350": { "Name": "Accounting Standards Codification", "Paragraph": "21", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "825", "URI": "https://asc.fasb.org/extlink&oid=123594938&loc=d3e13537-108611" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "830", "URI": "https://asc.fasb.org/extlink&oid=6450520&loc=d3e32618-110901" }, "r36": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r360": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "45", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124435984&loc=d3e28551-108399" }, "r361": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=124429444&loc=SL124452920-239629" }, "r362": { "Name": "Accounting Standards Codification", "Paragraph": "8", "Publisher": "FASB", "Section": "55", "SubTopic": "30", "Topic": "835", "URI": "https://asc.fasb.org/extlink&oid=114775985&loc=d3e28878-108400" }, "r363": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "840", "URI": "https://asc.fasb.org/topic&trid=2208923" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r37": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.19,20)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r370": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39549-107864" }, "r371": { "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" }, "r372": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39599-107864" }, "r373": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "850", "URI": "https://asc.fasb.org/extlink&oid=6457730&loc=d3e39691-107864" }, "r374": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "850", "URI": "https://asc.fasb.org/topic&trid=2122745" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(a)", "Topic": "855", "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r379": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Topic": "855", "URI": "https://asc.fasb.org/extlink&oid=6842918&loc=SL6314017-165662" }, "r38": { "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" }, "r380": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "855", "URI": "https://asc.fasb.org/topic&trid=2122774" }, "r381": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r382": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r383": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(c)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107207-111719" }, "r384": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(1)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r385": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(2)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r386": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Subparagraph": "(b)(3)", "Topic": "860", "URI": "https://asc.fasb.org/extlink&oid=121570589&loc=d3e107314-111719" }, "r387": { "Name": "Accounting Standards Codification", "Paragraph": "6", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "910", "URI": "https://asc.fasb.org/extlink&oid=126937589&loc=SL119991595-234733" }, "r388": { "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" }, "r389": { "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" }, "r39": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(13))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r396": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03(16))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r397": { "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" }, "r398": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.13,16)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r399": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.9-03.17)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=126897435&loc=d3e534808-122878" }, "r4": { "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" }, "r40": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "235", "Subparagraph": "(SX 210.9-05(b)(1))", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=120399901&loc=d3e537907-122884" }, "r404": { "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" }, "r405": { "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" }, "r406": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "470", "Subparagraph": "(c)", "Topic": "942", "URI": "https://asc.fasb.org/extlink&oid=123599511&loc=d3e64711-112823" }, "r407": { "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" }, "r408": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(16))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r409": { "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" }, "r41": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r410": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r411": { "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" }, "r412": { "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" }, "r413": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "210", "Subparagraph": "(SX 210.7-03.(a),19)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126734703&loc=d3e572229-122910" }, "r414": { "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" }, "r415": { "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" }, "r416": { "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" }, "r417": { "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" }, "r418": { "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" }, "r419": { "Name": "Accounting Standards Codification", "Paragraph": "7A", "Publisher": "FASB", "Section": "50", "SubTopic": "40", "Subparagraph": "(d)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=124506351&loc=SL117782755-158439" }, "r42": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22(a)(2))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r420": { "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" }, "r421": { "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" }, "r422": { "Name": "Accounting Standards Codification", "Paragraph": "13H", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Subparagraph": "(c)", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117783719-158441" }, "r423": { "Name": "Accounting Standards Codification", "Paragraph": "29F", "Publisher": "FASB", "Section": "55", "SubTopic": "40", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=126561865&loc=SL117819544-158441" }, "r424": { "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" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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" }, "r429": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "05", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=6487483&loc=d3e32239-158577" }, "r43": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.22)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r430": { "Name": "Accounting Standards Codification", "Paragraph": "1B", "Publisher": "FASB", "Section": "50", "SubTopic": "825", "Topic": "944", "URI": "https://asc.fasb.org/extlink&oid=123600520&loc=SL75241803-196195" }, "r431": { "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" }, "r432": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Topic": "954", "URI": "https://asc.fasb.org/extlink&oid=126942805&loc=d3e3115-115594" }, "r433": { "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" }, "r434": { "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" }, "r435": { "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" }, "r436": { "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" }, "r437": { "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" }, "r438": { "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" }, "r439": { "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" }, "r44": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.24)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(c)", "Topic": "976", "URI": "https://asc.fasb.org/extlink&oid=6497875&loc=d3e22274-108663" }, "r447": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "50", "SubTopic": "310", "Subparagraph": "(b)", "Topic": "978", "URI": "https://asc.fasb.org/extlink&oid=126945304&loc=d3e27327-108691" }, "r448": { "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" }, "r449": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12" }, "r45": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.25)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r450": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b" }, "r451": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-2" }, "r452": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "b-23" }, "r453": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "d1-1" }, "r454": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12", "Subsection": "g" }, "r455": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "12, 13, 15d" }, "r456": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "13e", "Subsection": "4c" }, "r457": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "14d", "Subsection": "2b" }, "r458": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "15", "Subsection": "d" }, "r459": { "Name": "Exchange Act", "Number": "240", "Publisher": "SEC", "Section": "14a", "Subsection": "12" }, "r46": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29,30)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r460": { "Name": "Form 10-K", "Number": "249", "Publisher": "SEC", "Section": "310" }, "r461": { "Name": "Form 10-Q", "Number": "240", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r462": { "Name": "Form 10-Q", "Number": "249", "Publisher": "SEC", "Section": "308", "Subsection": "a" }, "r463": { "Name": "Form 20-F", "Number": "249", "Publisher": "SEC", "Section": "220", "Subsection": "f" }, "r464": { "Name": "Form 40-F", "Number": "249", "Publisher": "SEC", "Section": "240", "Subsection": "f" }, "r465": { "Name": "Form 8-K", "Number": "249", "Publisher": "SEC", "Section": "308" }, "r466": { "Name": "Forms 10-K, 10-Q, 20-F", "Number": "240", "Publisher": "SEC", "Section": "13", "Subsection": "a-1" }, "r467": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1402" }, "r468": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)" }, "r469": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)" }, "r47": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-02.29-31)", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r470": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(3)" }, "r471": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(4)" }, "r472": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(b)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(5)" }, "r473": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(i)" }, "r474": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(1)(ii)" }, "r475": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(i)" }, "r476": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(ii)" }, "r477": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1402", "Subparagraph": "(2)(iii)" }, "r478": { "Name": "Regulation S-K (SK)", "Number": "229", "Publisher": "SEC", "Section": "1402", "Subsection": "Instruction 5" }, "r479": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(1)" }, "r48": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225862-175312" }, "r480": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(2)" }, "r481": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(3)" }, "r482": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(4)" }, "r483": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(a)", "Publisher": "SEC", "Section": "1406", "Subparagraph": "(5)" }, "r484": { "Name": "Regulation S-K (SK)", "Number": "229", "Paragraph": "(c)", "Publisher": "SEC", "Section": "1406" }, "r485": { "Name": "Regulation S-T", "Number": "232", "Publisher": "SEC", "Section": "405" }, "r486": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "405" }, "r487": { "Name": "Securities Act", "Number": "230", "Publisher": "SEC", "Section": "425" }, "r488": { "Name": "Securities Act", "Number": "7A", "Publisher": "SEC", "Section": "B", "Subsection": "2" }, "r49": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=51824906&loc=SL20225877-175312" }, "r5": { "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" }, "r50": { "Name": "Accounting Standards Codification", "Paragraph": "22", "Publisher": "FASB", "Section": "55", "SubTopic": "20", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=99393222&loc=SL20226052-175313" }, "r51": { "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" }, "r52": { "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" }, "r53": { "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" }, "r54": { "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" }, "r55": { "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" }, "r56": { "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" }, "r57": { "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" }, "r58": { "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" }, "r59": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03(7)(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r6": { "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" }, "r60": { "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" }, "r61": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.2(a),(d))", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r62": { "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" }, "r63": { "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" }, "r64": { "Name": "Accounting Standards Codification", "Paragraph": "2", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.5-03.9)", "Topic": "220", "URI": "https://asc.fasb.org/extlink&oid=126953954&loc=SL114868664-224227" }, "r65": { "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" }, "r66": { "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" }, "r67": { "Name": "Accounting Standards Codification", "Paragraph": "15", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(b)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3291-108585" }, "r68": { "Name": "Accounting Standards Codification", "Paragraph": "17", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(d)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3367-108585" }, "r69": { "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" }, "r7": { "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" }, "r70": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(c)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r71": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r72": { "Name": "Accounting Standards Codification", "Paragraph": "25", "Publisher": "FASB", "Section": "45", "SubTopic": "10", "Subparagraph": "(g)", "Topic": "230", "URI": "https://asc.fasb.org/extlink&oid=126954810&loc=d3e3536-108585" }, "r73": { "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" }, "r74": { "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" }, "r75": { "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" }, "r76": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "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" }, "r8": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(24))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r80": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(e)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790" }, "r81": { "Name": "Accounting Standards Codification", "Paragraph": "4", "Publisher": "FASB", "Section": "50", "SubTopic": "10", "Subparagraph": "(f)", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=126899994&loc=d3e18823-107790" }, "r82": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(c))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r83": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(d))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r84": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(e)(1))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r85": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.4-08(f))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e23780-122690" }, "r86": { "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" }, "r87": { "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" }, "r88": { "Name": "Accounting Standards Codification", "Paragraph": "3", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 210.12-04(a))", "Topic": "235", "URI": "https://asc.fasb.org/extlink&oid=120395691&loc=d3e24072-122690" }, "r89": { "Name": "Accounting Standards Codification", "Publisher": "FASB", "Topic": "235", "URI": "https://asc.fasb.org/topic&trid=2122369" }, "r9": { "Name": "Accounting Standards Codification", "Paragraph": "1", "Publisher": "FASB", "Section": "S99", "SubTopic": "10", "Subparagraph": "(SX 201.5-02(25))", "Topic": "210", "URI": "https://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "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" }, "r94": { "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" }, "r95": { "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" }, "r96": { "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" }, "r97": { "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" }, "r98": { "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" }, "r99": { "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" } }, "version": "2.1" } ZIP 65 0001493152-22-022073-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001493152-22-022073-xbrl.zip M4$L#!!0 ( ,. "U4ZU:76_B M2!9]1^(_U$::42)!".G-KI0P2$D@,TB93C:-1IK'PKZ&VM@NNLJ&L+]^SZVR MP0'2DZC3'Y,F#P';]7%OU3GWGENX\]OP]^MNO=;YK7_>PZ?@O\YP,+SN=SLM M_XFGK>)QY^*F]Z?X,/SSNO_+7J33[%2TCZ:9&*J$K'A/6.DLTPGQ;V,'K*FC-4X/15&C2?97O?G M=&2G9YW6[5>?N7-U\WY8G:X9R43%B]._FM"UM>I_Y.W#2!?=_L-$C516K[UK M'[8[K0OL" _?_:J.!91F9%[3LW)WWH(OV*7+_MUP<#6X/!\.;MY_V&W3Y_OR MW]QF*EH4-U4:$D]U='BBTM=T<-"HU^[TB$PF>H?BBHQ1:!W@&I.+;"*ST^_' M^^-_'YY,7S7 O/G];1_6:P,QD3,2AF:*YA1B5Y45'W-I0)9X@?M3C>W7J;C2 M)D&_YG\PCD$SJK2:8@(="H*AH?A=FF BWK4;XOCH^%CH2/RAS-#(AABDP>%W MM)X[Q+S8P6,@YD):[#(0D2S$?:KG,85C:GC@%' )-49-=28"#"!5*F2Z$'F: MF9R$S61&"JV ?J!GZ!>*T:*Z$-\1%'9@?[&#[SX%=A*12H$F M1N8*/0T@'JQ0A$SA6&$>E09QSF 1"*TAI -[*A5( C,G!I(GC)?KK MM0)X=FUN,"Q4/'*#H9G': #(:\#2S6>=08&T$Q'%>FY+/A@:*YL9B9DDW_2& MPTSOFT>U+:U9FC2.%RWQXX MB R$-.2B(,"E1C$Y.4"@P"A6=L(]N%F"J,^1GZ]#98-8VQS].!\8'7M43HT. M*,1MH&H?* P)L/90ZS\$$YF.29PCU-[E,;QKOY/-]LD^>3/:)Z&_\I>*M7WJ MZ< 3" ['%99XT+(QGY@(8KKC7%)6 "O)8<@J#8\Z*91YA MHGFQ516)^#8B;H@D@_X4?D<1=\>AU^#0:(-#SX[3&U1Z?H3?QJAZ;9U2W PT MG*F0B2*M3B4G,VE!,BX2F#W2A"60P2TE1RI6V8(EU+9YF=@.\P[.GI*/FJYD M8KWFDN9#X=(T-U/PR3K1%P3:A,X"5V^,*864BT$K/*$I$Y:;H)CRU &QU119 M:T>>-T:> .3ISV2CG^DU\*&'0&@])P!_>W!?>0 M46KN7/8PAPS*D =#ZXX3.@ M0!%06E\HGTFD(^X M ZQ_0HC5:\\FQN&/!\+A^<5U7USVKZ\_W)Y?#M[_^LO>T9Z[OCWO]_72&)&A",LU Q[&<6AA4?MMS+[!UAG\3I< M9]@KQYO*D(],EHO?YL5_L1B>_#HM<9'.]QR(;_[=;/;%T]D<.]*Y?_&][6&8D[4/Q/!T ME5.K.70]QSX.ZYO)<2V);L;;%56W$/#Q+K"TY!Y+U%>&7BUH"9,2(IT6%J=< MI\KJMGAY_1)^096TMQ(I+7Z+W;_6SF^__Q]02P,$% @ PX +5=;5UT?A M!P \#0 H !E>#,Q+3(N:'1M[5MM;]I($/Z.Q'_8BW15(IF0I)<[*=!( M)*$MI[3)I:A2/R[V&O9B>]U=&\+]^GMFUR8F(4UHZ1UIR8< ^SJS^\S,,V-H MO^V_.S^NU]IONYTSO#+Z:_=[_?/N<;OI7M';++K;)Q=GG]B'_J?S[JNM4"79 M$=O?2S/6E[$P[+V8L"L5\\1S#1[[(+0,MS 14R^7G==B,==#F30RE1XQ#)\U M#%26J;AHR\1-UN"1'"9'3,OA*-LZ;K^^>-^O;M<(>2RCZ=%C&]JQ1OXCG'Q8 MZ>3X13(P::O=/,&!T+IXN7S>&G5O1G(@LWKMY?[NP?^EF"^23.A5:E9>U(^@ M"V[IM'O5[[WNG7;ZO8OW'S;7].VZ_)V;3(;3HE$F@:"M]G8/9;)*!7M>O?:G M&B7L]2Y[(\"9BB$?(X% ,$)(\8B'WT:29 MBF7&,N7&W1N0"%\8P_6T7L.8F%\+"\79H@9M :3!GA$Q#MJ$!OA2^WF,80GF M0Y1 :#8920#5Y/3O=OY$:%$L0AK$TD2"!S(9LHG,1M#0I,*W$F+=>JV OJ_& MF!>PP;1Z$&L$A0W8EU;PY9? +E@H$Z")D'F+'@](QW!TZTJ_3. R@6.)=63B M1SFY22"T@A0/\);6E0)@9!QD-%$T0W^]5@#/W-D;%A9(6MDC:.81!@#R"K"T M^QDKD,_-B(61FIC2'K082I-ICITX-3K!(:;3S:':E-+O MU5[E$;3;?\D;^X<].W/_,*#W3B))Q#YQID"+,W+%%0MQ@"5!'MVD7G.[;(<[ ME7WP:6=&>JJ&@Q%$GGY"$MSOG)QWV6GW_/RR__FU=;>EOW\X;)S6GY> M^A0&2B,P-WP513PUD*%\UT+P#;(1K;+W*]5AVOVKY9/]1( MA-E643UJ]\^6WZ&4N<.^J[ ]54"+H10(?7>[L&*_EQLX5&*SY)&XM@35^:=(\H&,9#:E6+]H9_);-LBCB3N:,#^T MPH:M<[]Q.I$P::Y397"ZQ$]\'_9J9;#4>"@2L(X() 8](B760$/ ^VG75(/Z MR!1>=@[)^'=E*[/6I:R-__QY7/G7:TC>LB GZTMUX(+JM=+ G8T^SD?NF?7C M4YYJSQ@F$KL0U<]NL]MJC@ ;YJ6/F.<<7I$_4*>$>4(8HR(9\,Q*.C RD%Q+ MTD"Z5-AF+0FME!O*3BV_ ]$AB[6<'M8,B3+D$#0+#@$A,H\XY2)0K'0K19J+ M&2YKKF;[>#<0SL3)H8A@C:CSQHI64PJNU[IC'N469X0'$89(1JDH+,R"I'*6 M3CS!<-S'.WGFK/ ( \)$8)[L![CE Y5G#XOP%-OFL]&"DO6P"O#%=1PV*,L MUAL(=Q00J 6!DF #]Q\,[ML!!0T'I?N8I&)FD3G:GH7 7X((4AQ0OI]K E[% MY]Y?M5Z+E)TU.1$@CB% VA,I".F41?):X,569>],\+[YD%IL8V;/N^1T^"TE M)_N(*BCMT;MUQQ0>JB9QZYD)U OA5:\MS./N4:V9>!QT*U/:S/(FVX UXUAF MF1!?B'X#ATBVS $.LK#5Y\SB44L+:=)[ZMW^YLJDN; MZM)SJ2ZM>2%IE1)U(EL/H6Q/PEM1/9A*R[X4<"T%JYTE=Q/!KXFENKJ)Y:DV M3[3/.\M'-0]ZK(6LP:5AR+9(BH5AF >8:\0L"C_HWXIJ$:; 2<%&/,>6#;0W M>0Q7 ;6M/@7_6?A@JT5R5(/T^M9VUC9H/P]N3 65#BAPJ!$(/0!1V/@-*-OG MY07F/4<@93)6T5@0BTSXL'CNKXN0+^(T4E.!WLE(N2#/YRP*%O %CEVO/=E< M=G_F(%H-FG>#ZE?'($3*+T34K<)%KR:,?E/07'@C*0^HAC:[NWVZNT*U0^( M*WRX (,XL='-.NOGKVUS=VE_=J6JI3;^/V#F'RVXTRDL_ZWTLI7I,M]^I;;$?)PK@/#DT72K= M?5H2N\@WWYKJ$S/5"L#G\N/R0$N4E AI-W$XY3E53K=)Q^N.\+_F7L_\)S25 M!]%-^L62^PD3_=+I7U!+ P04 " ##@ M54*V)3I8' #)+P "@ &5X M,S$M,RYH=&WM6N]OXL86_8[$_S!%:I5()H3D14]**!();$N5;M(LJM2/@SV& M>;$]WAD;0O_Z=^Z,;4S";HEVNYO-D@\!V_/CWIES[CUW<._7R>_7_6:C]^MH M,,0GH[_>9#RY'O5['?>)IYWB<>_R9O@7>S?YZWKT>.Z&Q]X)+<,6.J+K[7/[7;"8ZYE,VIE*SQF:5S>F*LM47-S+Q$/6 MYI&<)>=,R]D\:_5[;V[>3NK3M4,>RVAU_D\3VK9&_BV]#@V( M!;G]AEWI7?9'#W,YE5FS<=H].NUU+OM?PS%?))G0KV.3/K\OV*6KT=UD_&9\ M-9B,;]Z^VV_3I_ORO]QD,EP5-V42")KJ^.A,)I_3P;'7;/S.M9ES]ML1>Z,> M'CPLHZ:I63;GV?G+\?WDOT=GZ2N)E%]H=[M'S<:8S?E","T64BQ%@%V5AKW/ MN095HA7NITIG3"78?!VC7_L/C*/13-1:I9A !4S T( !+_ZJ*YQ\:)?_2"UG./F&<[> +$7'*#708BXA6[3]0R$L%,> XX!5P"A5$3 ME3$? W"9,)ZL6)YD.A?,9#P3,P&LP9P1R0V:A!KX4OMYC&8)^L.40&BVG$L U>3T M;]U_*;0H!B$/8FDBP0.9S-A29G-X:%+A6PLQ;K-10-]7"_0+V'157X@7!(4] MV)_MX.G'P"Y8*!.@B9"Y1H\'I*,Y'NO:03ONJ>\W3T[ M$,Z,[EG@KMRE)&6?.#K0!(S"<8TE#K1DS$@8E7"/P/9(P7C\]SLWH64Q%0 D\5, M3INH7&, A.&%-!3.BA1(Z ,49% M,N"9M71J9""YEN2!=!K*IKN$1LH-R1H;&,!44D$V&2@C8%&&Y$.]4M0"TL\C M3DD,CEDKJDQ"5'-RJRX3\6TJJ"'2#/J+X 7%W#V+/@^+ID]8M'.L?D*FW:/\ M-DXU&X])1R2?"HCF:U(1FV;EZAM M46\![4BYT70M%9L-FS@?"I?27*=@E+'"S_>5#JP%MN:8B01R+@*Q\$2D1%EJ M@H+*D0?4EBDRUYX^KXX^/N@S6O HMX&:H"7"$&6 7 39HN\"_-L 'E"\6HR87]@B,3L>2O#+LT)DUYZ;2>!3X M+>5$ "&(K&%7I,A7*Q;)>X$/>Q[VJ(/WR8MTP;YOFGW[E#K[E&+?_C@0E'ST MUN&8TD.=$NO(3*#>"B\HGFTB[TFM4IG'4:]D2IM*5MD;&#..998)\9'L-U40 M;O0\D##0#G( XB#7&)O,\(7*II+PXGTNX8#E=I[X]N3L<%_3O[KL0C7](((, MQZP24*(X56Y%CJTH[,\4Y0GK!^&^->6X(ABU M+AVD;HG@/$!/(ZH _D%J%'4(N@#?J!8\)[0,O#=YC/6&V]:;(G5N/8W>BZC7 M"7,JN@?02J%&Q/0 .F$#/6!K?](J\.TYI2&3A8H6@N1&PF?%3W.ZR TB3B.U M$GBZG"N7#?@&>X#VCXBQ9F-G:AQ]?S"<#"ZO1^QJ='W][G9P-7[[R\^MXY:] MOAT,A^7ULU=A*8-L3DV/?[Q (M2!T&U?11%/#0PJO[7LNW&]R=WS)UB08("D M+5<1Z]TJWK3K38;E>%O7.>4!G:=4.]*E'7FV:V?'/W[.W1F"$.?._D$^@ZFL M6[R]4.W89+BC@\5ZE_Y=1MR_)R^9/6[]^K[VQOV.Z3A?-M_LZ77&_;J_^'?W M53"R^UN8_QI!=][NKV&KVS9G7[5W^WU[\?MV-9.%^PFM67:.;OFB-CM=KGSP_&?I57;@S$E]S(<[^ ^/%TGZGIB?IRX-R=] MFG$?9>:GH7G-URTLW-P%4JS4HT)Y;>CU@I8P*2'2ZV!QRG6JK6Z'EM6 M7JVU'.K0J_CNW7QZA?__4$L#!!0 ( ,. "U6=;:;'U 0 ,@A * M97@S,BTQ+FAT;>U:;6_:2!#^CL1_F$-JE4CF-/B[V& MO9I=9VTWT%]_LWX!0G)MHDN.A",?8NS=G9EGYIG9]NRZ!BR(G#%>#(5?!YR^?C 582@6Z;.0+L,B\=B,UT&R MV3PLM)J]X<#:5E=TR8)YJ_JO%,9S _:#)O:AI';K+9\&?J-9;J-#E%R\C%XW M(F,Y9U,6YG-GM5)U7\!LRD,JGQ)9%JA#P()1ZAACR^R9'=TRAX/#B1(B&UV. M)Y?ZP,KGK"%4W\-E:5+JE&!B=!14J)Z=5[2# JQ/\CF].QQ91A-/"=#D^9PM.*=VR 2'&Q;.(9Q3N(Z(1%]Z*Y#4%S($'.P)N1:'3$PB=\]5;&=Z>H4FY+!(I0'/A"I#V'LZJ& MA*G5@ 3YG,L\'%A;,*%V)%G($ [A#AA+>T[XC +*7[ @4-9NJQW'9F9:-: $ MY:.=:DJ$*F6 ;J6.AGZ94L33+4&/2LG0-YTYHRXJ0(4A^T[SN:'K,AM-57I' MD@9,.3\3EN+3X+.8HT]*\ G7\$ S390DBCO"()6EQ<(0=3 G\!EUB^4RTZS; MMHAXR/@LFXVZ\KE;RN94TND*&2Z1%4Q%U(]D$!&T*Q3;E2D-9%R9T*U '.&' MZ-?MZ=DDE0@Z^!%1+N+MA9),, C?R,.MM))ZG1TS2!1H1 M* )LF'9"3@&3O'I^XIRN^;3)WG7FIJ2J?CA[UU#I\')\>F3-HP'64M8PC@5^ M06(JX$82$H95%I_&+,@H19C:27PLI8H]FAHFGH=0<$-@Q$-N!3[2"4?4*I=Q MPFWU' 4Z+!:MJB?.BKR80L*G,E89[%;*TLMQ^7]%*DMO]PWH&/W^9*1WS,&G MCX5*(;X?Z=UN=O]H+]PP)YRKJ94W#9@*B5MHT1:>1_P #(W\:8U?KR" M[VHOLXF7>1']74C?ZYM6-Y-WKY]]XCBX7:XC4E41>32T\\J;IXQ.%]E<3^S7 MHQF:"M7T>+..F-5](,#4WQF^MD?L;PHE!,)CSOZQ-LU6.2@G6'8/5,VRV=I& MC/_&>V')P[L^SY:B#P[X/FQ- I?8MWT<_L=#[,Z!^,27#.NTCX6:KJ>*9.KI MD0&O@ %W;=U;J/Y523_T,OYILMQ"Z#U;-V.9^]AH.6_ M%8O08]1SZC B,]I =<1Y;9:V("A'W=[ZM GF.'%8A;MKODUL^K^Y"V=;]+W M84@W[93M]LEN>^6VTKM]D9W^R=VTWN3H/9EWN[WD43=>L6;VENB-0S-&9&QH MEM$YF9^VO%M6[DU<^(P-LL*F/U567V(DGV:H+SC^!E!+ P04 " ##@ M5 M:)D!*F'V JL0H # &9OQ]:W/:3++P=U?Y/VB]Y]E* MJH0CB;N3)V]AP Z)#0Y@.\D72D@#R!82T<4V_O5OST@" 0($2"! >W9/#$@S M/7WOGIZ>+__OK2]3+TC3)57Y]XP]9\XHI BJ*"G=?\],HY/(G?V_KZXG-I_/?WK#SYQ9#UV\>3[',0S[Z=?M M34/HH3Z?D!3=X!4!C5Z2)>5Y_OCXU]&C;4V6)A[%WSB3)#_-# V_BN,7W ]G M/ED_3CQJ>#Z:MAXUG$YCW+8IAAA>C79?UF_+CA_?SX MT4^&QBMZ1]7ZO $TQ".E$PR7X#*N01(Z$B8&@L_G7?5EZ3BY1))UQIDASN1* M\<]M7A]A7$13Z';FA!_@#8YS'M109^ZPF4_PJ_.@J2>Z/#\8/=SA]39YT/YA M8E3X3E-EI'L^37Z9>%PTM(0Q'"#=&Q3X^1/^&;_#)!@VP8W0(JBF8FA#[[7: M/TY,I6O&+%#PY<1##\U&9?34BZ0!=89) %"*4B!?A7PK_YXLA&3+Z M^N63]2_\VD<&3^$1$NBO*;W\>U94%0,I1J()"SFC!.O3OV<&>C,^6;+[";_W MR1[VRW\2">I*0K)X0360\9FJ\GUT0;V);Y^I2HG\T6*XR]9]XQ^N=%THW,$_ M&#PJD?#[=O*RA1?:&B^PY2QPA5%2.>LMEF'7>3V=:2'@28 >_EM6 '_#(B!& MX^6*(J*W'VC88D!O,;DTETJN,F[>-6ZACQ01_F=%E':TRU)5KJ)(J MF&0D21=X^0YIDBI>P7=ZZ^=*RV9=8Q9-31L-^1OQ6ED12[R!6M;/-PWF[59B MWF]__OOO"E-DF=:OTJ\65BHL \/\/8>O5W@_@YFKU&);MA:U@(&O5AF#:S5Z MO(;T%MY0!?&./T5;%(:4; M0QG]>]8!N;V@6&9@4$VI#]-4T2M55_N\0EM?T#"/)G6(AA"E%^<]4=(',C^\ MH!150>1'Z>T"BSK2L XAGR111 K1*/@C/%@%3M,DP5(6;T8=J^HK3>UC,<-J MD&$-U?H[22R% HN#J9!TX2E(9U_'DO3ET\04P2)Z]C618#EX>,&L5QHO8*MN#V?;RXNBVN]+!EZ&7E!$;![ [0/W3T+Z MV02$!;W6<4,EB?^> >-R$F97ADV!V3(5R7H69 &,F'ZA2#+8%LT$ !W('#!" M (VU<# +6C)PT.[ )4% "[%AJ,+S R^;:#5LY78&TEPLY4,AH*KX0U'+?JEE MO524>5TOW*)^&VDSH.8RNP'51MU*H&8CA]5+;U Y)ATYK,X%-7@&($#V5!E, MH5X&7]D8^@)V4NJ\P4TRP4O[FN V-<3KIC9QUN01^SJ(X9N\6Y4=HN.#=G["754<&+RE(+/.: J/K\U86G/>$X_R+@OAD MZI97UU0+HBCA!\!]YB6QHA3Y@63P,EE>'>E(>T'@4FM7I@&!$(0T+Y(P[?P% M(VM<<"IZ-ZOT(7G!J9/=+-&/'":#,UZ[6:1/J4P&KV^JR*@H@MI'-ZH>BHPE M@WLP M>B85TY<["AI*3#5[A;@+S M8)5Z#GW,A9<96!]N(!T84JB$K+^K2@E&U>6W#7YMSGY MB>7@AI#PG 6W9O205AL@C<=;OP5=1\;:\ 9OX;S0.U!UR2!@+X#6,0J*B%7$ #^R)H[3P?-$'0ULJ&N=&U7I M-I'6+Z'VNA!F@M_;VN="ORI&*HV M;*H.\0.@>SXXQ\:"V-0-M2^]@TY7.\8K*%E<_S'ZTJYA; A(X<%9]IN)$L@ MK6ND=C5^T).$DJ0;FM0V\?38>\,>]CS_)QU@LB>P--B2DUQ&PX'0I0$A$"]#CWLJ"KE605 5+XKP%!:P; EB0XX=Y MK^A*U9#45>8M)^!=MW67LT@?IP/TR]<#+=K;F&AXT](IB)7.N-?_;)39EJZKRT^1EJ2/9 M<8TUL#<&\IGD]J(;%Q+TE;#P""3L&4@L '?R7>0DM.XT25A1=ZZ(G*G$Q=WV M$!00E\R5_Q41L<48>'M<$A1R\E'EDO+;0-+(.R,DA2DNV\R4K, E'EC8E4+) M[3VK!"0S>?9@624H#"4W8!7\Y?@T#D8:R70B14"Z]00^;GFADW.T, -%#L=> M]#0\V8NA2PGG(-SYFPZ,8/V,3S#^>Z9+_0%.47P:3S4YN#6=KIJ:,QL\1@XF M7=CH(FM=X$8[AQ*=UQ Y##3Z=O2]).)? )\:19:"/ ^I%BL_)@\.3;\\GNZ3 MYWSV; /"#[-0Z :O&?@HS=?Q3R].O.)\/P& \Z6- M4K]X=FDP$4DM<(\A#"Z((A#,V>#;%?;'"$5=+)BN'^R?1 #F;2!+@F3')Y0H M]7'\@ ^?CT^-V)/TLZ_X&8\E?_GD.;H;LD_>H!TDQXR+;W() M)K5GTFB=W#>^CA($68IY\M27>]';ULV[$8V8ZI&A^HYE_?(8J7ZYK,_= ]\O-V@B6&'7"5;8G82W3M8%&0U>1GL>W.J:<7&GJ:(I- M/AYFR1791IM<9!S.^I+#F$-VPR'1TR&K-!'84_:8L=!632_.DZL*:9,S8:6] MEGZH=GJA=W9\I)]9]Y'1??'9AN/@@84X.#)^\#K171#[@%'R ;?( M 7NV3[,M)*W7T.TXQ"4*+O-^[,:LTEOO.'AGYS[WOC-.[+1'S&G?=X:*O?Y8 M&ZW-/''8L/.P83]8:,56=L?!0)%SI*-7M+)&5\'CX)UH.=)[R#BQ(QUE1WH/ M&2IVI&-MM#;SQ(YTM!SIZ+'0*I<%' ?;1,%]WO+AJCB-'!'O=\=TCYW7B#FO M.^:'V/<\7ET0NXX[=QVW?L0Z]@&CZ0.R.Z!^[ ,>)]UC'S"Z/N N^"'V 8]7 M%\0^8)1\P"URP/Z6[X:*I("NR]A3^<%=,D:R,UXJ+[M:9?C#0%S,$@!;S=PW M<71L-8V!F*U6*[/S<^O'83*58^-]8"!FJI4:0L4F< ],8/2VH0.Z^7RRZL>A.B>Y98>F.W.;(1[Y9%-W:;8]'=,[]PY*\ M;=Y\%U,^2I3?YDV7-N4?>4V#.8:3IK:FH-^(UVK:S=[?0CZR3SU>Z:**4A $ MU80YE&Y9-Z0^,(?;FA&VF,1)L+:T\,IK1).[YO/ ]G&IGY@)8R:,J":\48%@ M6A/H9B,H9L20&7$.QF.-&#-CS(P1THPQ"V[5,.^<\2*C!6/&.R[&V\:=\&M7 M@-@W/!<4T;[B>92V72_)#4B?W84X$%8/*L>]#.>'G/U>5M&_@'_BTI% -[%" MD/PK)"(-R-F%D8:QT,="[U_H/5@GWO.*O+Q;!V)B>8_E?65YGV6=6-Z7R?M$ M< E()'AVHW# M=$[$W=NH0&D,> W= 7 'LM]WRQ?R?6E*L%BE"PAR M_JST!YKZ0ES) U'Q*[&"+XP#@271%SQ#YPQ [\BD:S?'>,C&"EI&<7?R3Z(*9^U*B_ MDST)Q.NHI\KBD>>@%N#A2/1!S!'[P!&[R47"+)HIX-W2+:/+$+/7''&X=C*ZXD13+0C?2"Q(H"N.M*;1D5=!T9^N70:L D M\_KT_;9N#!R91HBI'Q7J[R"'8-_D*KTC\1:)$H_+V0\FGER)&:PNBHO0<21Z M(>:,?>*,'>B,@@!^E89$$FA-H^]8^<,'4HY+?\1"GK?4F&6"81G7$=9OIB*"+83?JY*" M#(24.NJ:,J_=PD0]>7C'#P]@#R,47EM%2990VZB07">&?O(P[&HDB&4@J(YYVD?$7U4-I /:QH?4]Y5#'49I]%3-:"*MCSEFRE>< M7>UQ1>XQM0\S O=[+C#KC&'E ]$C(>4_V09'UN;U!G=Z=M!."8X[N>J&)@D&$AN&*CS? M*Y*AUQOW!\MH^*<%> DV/4BN"I@M!5Z(\UWKR]43A#;+[8K!O;V8F,'7]>YB M!M\1@\^]56,!,AVWH:GQ"O#EY)??304U>Y)F#)NO:K.GFCJOX+VWYBM@$'^W MWT(0+A.N L$#3(7[4HU=F0EZA"!S4_?/^*3TKD5O7WSQ]44OEJ6=R]*1^O]S MK(=S;_.=IG8DH]'C-4#N8?"JLS3<] M^LYH(XWN_NN0,+KXA8>PC L MFTFP3()+C?Y*N]O8]56%J!E;SV)/_Y9_D_IF_S 8=W1K "G7KG7(8F<:V4UB M(1@EBX.#.A:0<:PP@=E=,JO#$RLQJ\,^H3)KGDA1;O17/F;6HV=6FR=68U:; M?7:S43$9&33PE4*X !/7L!O#"KF(0WI!N+3=Q5K;R"'V+,"3@L#:-]U("(KA9'3T)F%=\I?P$A&(>LN+WV@"',(?!Q"5 MU N/N7)\GG= (.:@R'#0UD\-Q*RP!ZS ALD*8V\E/?)6X"]NE'1MF&T=_34! M^C(.3R=W8V^U\VM J;+GI9*C[.OD6F=W9CV1$7I43KAS"M6[=I32ZSA*F+'" M+USCLJ["-5]LO'*J*F;_H-E_G[)D491'S/8[KK,S%GX*_)-#_$B$;HOGP ^^!?_WYJ;K:YQ7:^H*F&L#NG<]4G]>ZDI(PU,$%!8^/OFBK!BC^R>]D MU(%1F<\4%HD$.)!=Y8+"6@E;A"_Z@%?<\R?9\[3SQG@9 MF#[V_W>MX=/$(D*E7KC4FJ;3(?/@WJ\M1RC6_GI?K33+I=.31K/0+#>^?&H? M'AF=I3;*Q?MZI5DI-TY/"M425?Y5_%:H7I>I8NWVMM)H5&K5@UP_9Z__D==[ MDM(U5(4^/2F=%\\ICDFG\@>YYF,0W:M:_1;60X;$[L:;^-;*,X46$I&42)14 M@61\<$C3$K#S"U$5VVJ1OY(0)KX/17.0U0O/9:X-XX$KH:@*<;LD@;*]W3KJ M3._N&.HX57=&*3R.Y'";+/=\9U]9)O&3N"?C,<=,=ES\9N#F'#";+,/W @C@ MOV?,&?D\X$71^;SR^EW.R\@'$519Y@D&9( B\[^ ), M.\[L%T-<&V#FG$M+2J!^QY0$Y*"P"MF)SV4 MUQ:&CJKU>>/?,^G-N&BKJHQXQ=!,Y"4E4S!AWLEG4YG/5^H-\OUF]\6-/7R7:W>I.[NZXW[0K5)-6L46-LF6%2*35*U.L6F/X@?J=H5 MU?Q6IL:&>&R#"\4F_IG-)U/NQ<+_T^SHA\C1UP-7%H>QMBM5.STQ>HCZZ[ Y M9>54**2(2*0F9B*@B$A0-7+NX8(RX1F(?!4T*]K)*=&^(Z.6K3R.MV!K-ZE< MQ:@*MX84B&"+N%H9-Q,5^>$0\1I2O.1[ K"SK[>\)O2H)$M3RY35E:2#SOT- M U_!-[KWFIC[5"[7?+A\D,4 +??4U& MT26L.A;:=[;_O917'GM#-DC[WN%EW=/ 3T-E6_C4WECX9KU0;52P"8]-?&SB MYYMX8\3HCHWO@ A1+?=_0+E,?M$Z3*0<,L'Q&2Q)QQN%IR<="4R>8N+=OHL9 MCR9CZ^KIK6#[*67;X3+?->L:YRQ?MPUUK[3<^+-9#:1S*4X9IG> M/2AB'2@C.IFOQ2Q71UU)QVK)P+OJWFR7RUQUS3_7PT(R&QC;35*K%\Z-+AGTHO_&"<7J"L42I'4H;88?B=4H?((%4G5$2$-+0*:%'(L6/ MAXF,8PP=O/=%)_=1_,0'KO0L](B<7*#6GI,YK*0?"I,P$DS;YMXI=,2<0!ECD@%VB MNULE72L6.\^!6<(Y )Q]S2<3+,=D,[@&RQ?OC8/#*.0X0K:81$XM\%2-4B&Z MTJ@G4Y-T42*WNE,!2>56;5V40?U0.:^?-\XM^,K]@:P.<5GC<;*?VK% D]RF M@S"BUN45Z9U\_K@7=-TC%IS4DQ:85?7\XS%GR&*_> ].N9$C_X_6OP&IBWX3'WV5"_PCGE]N+S.Z4H=!;W"\=1G7XL]7A%E;*U\+J;@M1CB<=2T M.X@D0.W/"6#,-%\2N/MW.!*9]HMM=-FQ2(<: M:"">TH"7*>3TB8*O<9LV'KE0-&,C^ MS3Y5_5[-:=KC]_1U]RV] A.[FIK T"V/D7V&2=E\ECD]:9Q3/X8: FU45WG1 M=TB172,^VA1?IJJPR?9]D6FLHJLVP)<[Z&JB_L!_^)A:-^+:%$>/K/GSY[?< M>XE;)6#; $?^P[@9))77"Q(V1M$P/WQEG[JOKZM$Z1N@:#;RR*6.KR; PIA5 M%$"374VD4;R%(8I71.>K#BE%IG!]-7A&'5P=H'01N.J8O2B9UPU*(V651U4O ML(NU/9FZ(76&02ZN 1&D)AD2 C_8J@I!&M!V8&JZBM3:\6.Y#^R,. M0'&E84$P+G:#DCCEO02DR*$WR_I38 ]>>Q)\,S8:QYRDG5<$ M:YO7(+.?C;I+$C]'W...WN!Y&C4 M"R^;\P*IO4C2[E$^>=[&K:TB+>7HS237;\W4[^4T$-@5P"J9W , M$"F7Q'&BZZ3!!_8CU>-U"A]8$BE>ENVT@0[__C4E''9"M-E&]@,PYBCR3.+2 M-^M,HQU_CN-6RF'.TQ,(2O'O^% C)9KX5C[R[$!# B*[.2Q'D>/B.O4!!@09 MH'03?!B]I^+S#LZ9.:/'&]/ O_*38))35^1E>Q$?:9(S^1N?M'4 M--Q.F ""E;K!&_-.J_^\9GXFWY]9KAI<_8CW_* GU'F)QU&#CZ M"G?P.SU),6FL"NJH:\ID>Y9J))K4!TR:[&>*2W+G]A-&3R('G@;XP%/ 6N/T M9%IM6""/E '2/]JB/D_2BU,G7D9HP5BQ!6_.J;I;O?17N>_V]$Y@DNX]_WY) M>MC"$$O_8ND'<>,I&^#TH Y-,?V M &OW86%#^O0$Y!1& RN+,=2ENIKZ:O2HLTN0( :,V\(8H19L M^XC5**5WP\S/I&=::&A%H%Q7U8;>CI?^XY41?MZIW'#]"KZ9] R9G+")8$_N M==)X CKLEDT8S0E>VX_&1]/N8U3@:CAF'<,R8]HC!^[B'AUD,9>F+BE(GY,V M*/VJ?'_2M%KN/M2.G![PK-*-\U!54H#9[2, JVP[T18PDYYTY("=ELS2A&0Z M2[DFBRA::_"6T,&W1^[-*%QWLX'VU/.64$^XUI/4W>X"Q-F_ .+_SNG)_$ ; M'Z:P\@/49'I ZGCE!4DV$.(,127)/%.W@G18@-6MUJ/#'<3Y>"YY2&3^58*Y M85Y*@06H.#/P(NDD<%%X19!X&8(RSFV(.0\JWPTQ#Y^;CT]\UTC? MZ3TDRXZ$4Q] ;DD6S>H@-INB DFQ\]SSTMR3E><-//Q":_=FFGK5%,1A)[,% M@7'#LU_)[E@R-DG3Z*65>ZU4R# M6!XP02VI8G-X#MYZ%RN_Y5^ZFKR]'F_:7)$=%S!#,_NN"\8]FQ"#PNCNY5R" M24VROF+V1=40D2!!V'5&V7_H_YY5JE=G%+[QC SA7$;'9FF.86@VF72DP(%O M) ;6%6]8^ 4"(1 #UYRI8^AVFZ>.#4JH"X["%7&N*]]\7A(WNE0N0E?$18"8 M^\*]-F23[(:)]!D P%?&"GA)%L5(V#_+/G,O#5P.?(;P_7A#RKT!-;U!-3GI M[,[2U [4K'B-